获取<input>的属性名称值

Kaa*_*rtz 118 jquery

如何使用jQuery获取输入标记的属性名称值.请帮忙.

<input name='xxxxx' value=1>
Run Code Online (Sandbox Code Playgroud)

djd*_*d87 246

为您的输入提供ID并使用以下attr方法:

var name = $("#id").attr("name");
Run Code Online (Sandbox Code Playgroud)


Sar*_*raz 33

attr像这样使用jQuery 的方法:

alert($('input').attr('name'));
Run Code Online (Sandbox Code Playgroud)

请注意,您还可以attr通过指定第二个参数来设置属性值:

$('input').attr('name', 'new_name')
Run Code Online (Sandbox Code Playgroud)


小智 17

var value_input = $("input[name*='xxxx']").val();
Run Code Online (Sandbox Code Playgroud)

  • 它实际上并不能解决问题。OP希望获取名称值;这假设您已经知道。 (2认同)

Nie*_*sol 15

虽然不可否认jQuery是一个强大的工具,但是将它用于"获取元素的属性值"等微不足道的操作是一个非常糟糕的主意.

根据当前接受的答案判断,我将假设您能够为元素添加ID属性并使用它来选择它.

考虑到这一点,这里有两段代码.首先,在接受的答案中给你的代码:

$("#ID").attr("name");
Run Code Online (Sandbox Code Playgroud)

第二,它的Vanilla JS版本:

document.getElementById('ID').getAttribute("name");
Run Code Online (Sandbox Code Playgroud)

我的结果:

  • jQuery:每秒300k次操作
  • JavaScript:每秒11,000k次操作

你可以在这里测试一下自己."普通JavaScript" 版本比jQuery版本快35倍.

现在,这仅适用于一个操作,随着时间的推移,您的代码中将会有越来越多的内容.也许对于特别先进的东西,最佳的"纯JavaScript"解决方案需要一秒钟才能运行.jQuery版本可能需要30秒到一分钟!那太大了!人们不会为此而坐.即使是浏览器也会感到无聊,并为您提供了杀死网页的选项,因为它需要太长时间!

正如我所说的,jQuery是一个强大的工具,但它应该被视为一切问题的答案.


mea*_*gar 7

你需要编写一个选择正确的选择器<input>.理想情况下,您使用元素的ID $('#element_id'),而不是它的容器的ID $('#container_id input')或元素的类$('input.class_name').

你的元素没有这些,也没有上下文,所以很难告诉你如何选择它.

一旦找到了正确的选择器,就可以使用attr方法来访问元素的属性.要获取名称,您将使用$(selector).attr('name')哪个将返回(在您的示例中)'xxxxx'.


Mik*_*s4u 5

一个更好的方法可能是使用'this',它需要'id'的名称并使用它.只要添加名为'mytarget'的类名即可.

每当有目标的任何字段发生变化时,它都会显示一个带有该字段名称的警告框.只需剪切并通过整个脚本即可工作!

<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 />
Run Code Online (Sandbox Code Playgroud)