Получить значение имени атрибута <input>

Как получить значение имени атрибута входного тега с помощью jQuery. Пожалуйста, помогите.

<input name='xxxxx' value=1>

Ответ 1

Введите свой идентификатор и используйте метод attr:

var name = $("#id").attr("name");

Ответ 2

Используйте attr метод jQuery следующим образом:

alert($('input').attr('name'));

Обратите внимание, что вы также можете использовать attr для установки значений атрибута, указав второй аргумент:

$('input').attr('name', 'new_name')

Ответ 3

Хотя нельзя отрицать, что jQuery является мощным инструментом, это действительно плохая идея использовать его для такой тривиальной операции, как "получить значение атрибута элемента".

Судя по текущему принятому ответу, я собираюсь предположить, что вы смогли добавить атрибут идентификатора к элементу и использовать его для его выбора.

Имея это в виду, вот две части кода. Во-первых, код, предоставленный вам в принятом ответе:

$("#ID").attr("name");

И во-вторых, Vanilla JS:

document.getElementById('ID').getAttribute("name");

Мои результаты:

  • jQuery: 300 тыс. операций в секунду
  • JavaScript: 11 000 тыс. операций в секунду

Вы можете проверить себя здесь. "Обычный JavaScript" vesion в 35 раз быстрее, чем версия jQuery.

Теперь, что только за одну операцию, со временем у вас будет все больше и больше вещей в вашем коде. Возможно, для чего-то особо продвинутого, оптимальное решение "чистого JavaScript" займет одну секунду. Версия jQuery может занять до 30 секунд! Это огромное! Люди не собираются сидеть за этим. Даже браузеру будет скучно и предложит вам возможность убить веб-страницу за слишком долгое время!

Как я уже сказал, jQuery - это мощный инструмент, но его нельзя считать ответом на все.

Ответ 4

var value_input = $("input[name*='xxxx']").val();

Ответ 5

Вам нужно написать селектор, который сначала выбирает правильный <input>. В идеале вы используете идентификатор элемента $('#element_id'), в противном случае идентификатор его контейнера $('#container_id input') или класс элемента $('input.class_name').

В вашем элементе нет ни одного из них, ни контекста, поэтому вам трудно определить, как его выбрать.

Как только вы определили правильный селектор, вы должны использовать метод attr для доступа к атрибутам элемента. Чтобы получить имя, вы должны использовать $(selector).attr('name'), который вернет (в вашем примере) 'xxxxx'.

Ответ 6

Лучше всего использовать '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 />

Ответ 7

var theName;

theName = $("input selector goes here").attr("name");

Ответ 8

используя значение получить имя входа

 $('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

Ответ 9

Если вы имеете дело с одним элементом, желательно использовать селектор 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'));
});

Ответ 10

Для нижеприведенной строки, Первоначально стоящая проблема с предоставлением единого кода, значение '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)

Это нормально работает.