Как получить значение имени атрибута входного тега с помощью jQuery. Пожалуйста, помогите.
<input name='xxxxx' value=1>
Как получить значение имени атрибута входного тега с помощью jQuery. Пожалуйста, помогите.
<input name='xxxxx' value=1>
Введите свой идентификатор и используйте метод attr
:
var name = $("#id").attr("name");
Используйте attr
метод jQuery следующим образом:
alert($('input').attr('name'));
Обратите внимание, что вы также можете использовать attr
для установки значений атрибута, указав второй аргумент:
$('input').attr('name', 'new_name')
Хотя нельзя отрицать, что jQuery является мощным инструментом, это действительно плохая идея использовать его для такой тривиальной операции, как "получить значение атрибута элемента".
Судя по текущему принятому ответу, я собираюсь предположить, что вы смогли добавить атрибут идентификатора к элементу и использовать его для его выбора.
Имея это в виду, вот две части кода. Во-первых, код, предоставленный вам в принятом ответе:
$("#ID").attr("name");
И во-вторых, Vanilla JS:
document.getElementById('ID').getAttribute("name");
Мои результаты:
Вы можете проверить себя здесь. "Обычный JavaScript" vesion в 35 раз быстрее, чем версия jQuery.
Теперь, что только за одну операцию, со временем у вас будет все больше и больше вещей в вашем коде. Возможно, для чего-то особо продвинутого, оптимальное решение "чистого JavaScript" займет одну секунду. Версия jQuery может занять до 30 секунд! Это огромное! Люди не собираются сидеть за этим. Даже браузеру будет скучно и предложит вам возможность убить веб-страницу за слишком долгое время!
Как я уже сказал, jQuery - это мощный инструмент, но его нельзя считать ответом на все.
var value_input = $("input[name*='xxxx']").val();
Вам нужно написать селектор, который сначала выбирает правильный <input>
. В идеале вы используете идентификатор элемента $('#element_id')
, в противном случае идентификатор его контейнера $('#container_id input')
или класс элемента $('input.class_name')
.
В вашем элементе нет ни одного из них, ни контекста, поэтому вам трудно определить, как его выбрать.
Как только вы определили правильный селектор, вы должны использовать метод attr для доступа к атрибутам элемента. Чтобы получить имя, вы должны использовать $(selector).attr('name')
, который вернет (в вашем примере) 'xxxxx'
.
Лучше всего использовать 'this', он принимает любое имя "id" и использует его. Пока вы добавляете имя класса под названием "mytarget".
Всякий раз, когда какое-либо из полей, имеющих целевое изменение, будет отображать окно предупреждения с именем этого поля. Просто обрезайте и пропустите весь script, чтобы он работает!
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.8.0/jquery.min.js" type="text/javascript"></script>
<script>
$(document).ready(function() {
$('.mytarget').change(function() {
var name1 = $(this).attr("name");
alert(name1);
});
});
</script>
Name: <input type="text" name="myname" id="myname" class="mytarget"><br />
Age: <input type="text" name="myage" id="myage" class="mytarget"><br />
var theName;
theName = $("input selector goes here").attr("name");
используя значение получить имя входа
$('input[value="1"]').attr('name');
используя идентификатор получить имя ввода
$('input[class="id"]').attr('name');
$('#id').attr('name');
используя класс получить имя входа
$('input[value="classname"]').attr('name');
$('.classname').attr('name'); //if classname have unique value
Если вы имеете дело с одним элементом, желательно использовать селектор id
, как указано в ответе GenericTypeTea, и получить имя, подобное $("#id").attr("name");
,
Но если вы хотите, как я сделал, когда нашел этот вопрос, список со всеми входными именами определенного класса (в моем примере это список с именами всех непроверенных .selectable-checkbox
с .selectable-checkbox
), вы можете сделать что-то вроде:
var listOfUnchecked = $('.selectable-checkbox:unchecked').toArray().map(x=>x.name);
или же
var listOfUnchecked = [];
$('.selectable-checkbox:unchecked').each(function () {
listOfUnchecked.push($(this).attr('name'));
});
Для нижеприведенной строки, Первоначально стоящая проблема с предоставлением единого кода, значение 'currnetRowAppName' не занимает пробел со строкой. Итак, после этого, давая единый код '"+row.applicationName+"'
, он также занимает пространство.
Пример:
<button class='btn btn-primary btn-xs appDelete' type='button' currnetRowAppName='"+row.applicationName+"' id="+row.id+ >
var viewAppNAME = $(this).attr("currnetRowAppName");
alert(viewAppNAME)
Это нормально работает.