获取<input />的属性名称值

时间:2010-08-18 15:33:15

标签: jquery

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

<input name='xxxxx' value=1>

11 个答案:

答案 0 :(得分:233)

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

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

答案 1 :(得分:32)

使用jQuery的attr方法:

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

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

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

答案 2 :(得分:15)

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

答案 3 :(得分:14)

虽然不可否认jQuery是一个强大的工具,但将它用于“获取元素的属性值”这样一个简单的操作是一个非常糟糕的主意。

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

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

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

第二,Vanilla JS版本:

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

我的结果:

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

您可以自己测试here。 “纯JavaScript”版本比jQuery版本

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

正如我所说,jQuery是一个功能强大的工具,但应该被视为the answer to everything

答案 4 :(得分:7)

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

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

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

答案 5 :(得分: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 />

答案 6 :(得分:1)

var theName;

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

答案 7 :(得分:1)

使用值获取输入名称

  <!--  Code that hides check box controller when printing and shows yes no depending
        on check box checked or not -->
<form>
	<input type="checkbox" class="yes-no-check-input hidden-print" />
	<span class="yes-no-check-text visible-print"></span>
</form>
</br>
  <!--  test Code to show yes no wording selecting properly with check box selection -->
<form>
	<input  type="checkbox" class="yes-no-check-input" />
	<span class="yes-no-check-text"></span>
</form>

使用ID获取输入名称

 $('input[value="1"]').attr('name');

使用类获取输入名称

 $('input[class="id"]').attr('name');
   $('#id').attr('name');

答案 8 :(得分:0)

如果要处理单个元素,最好使用GenericTypeTea答案中所述的id选择器,并获得类似$("#id").attr("name");的名称。

但是,如果您愿意的话,就像我发现这个问题时所做的那样,包含特定类的所有输入名称的列表(在我的示例中,列表中包含所有未选中的复选框的名称,其中{ {1}}类),您可以执行以下操作:

.selectable-checkbox

var listOfUnchecked = $('.selectable-checkbox:unchecked').toArray().map(x=>x.name);

答案 9 :(得分:0)

将类传递给输入标签,并使用类访问名称值。

<input class="test-class" name='xxxxx' value=1>

<script>
    $('.test-class').attr('name');
</script>

或者您也可以使用id访问该值。

<input id="test-id" name='xxxxx' value=1>

<script>
    $('#test-id').attr('name');
</script>

答案 10 :(得分:-2)

对于以下行,最初遇到的问题是没有给出单个代码,而且currnetRowAppName&#39;值没有占用字符串空间。因此,在给出单个代码'"+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)

这很好。