获取 < input > 的属性名值

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

<input name="xxxxx" value="1">
493409 次浏览

输入一个 ID 并使用 attr方法:

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

像下面这样使用 jQuery 的 attr方法:

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

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

$('input').attr('name', 'new_name')
var theName;


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

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

您的元素没有这些元素,也没有上下文,因此很难告诉您如何选择它。

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

一个更好的方法可以是使用‘ 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 />
var value_input = $("input[name*='xxxx']").val();

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

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

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

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

第二,香草 JS版本:

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

我的结果是:

  • JQuery: 300k 操作/秒
  • JavaScript: 11000k 操作/秒

你可以自己测试 给你。“普通 JavaScript”版本是 超过35倍的速度而不是 jQuery 版本。

现在,这只是一个操作,随着时间的推移,您的代码中将有越来越多的内容。也许对于某些特别先进的东西,最佳的“纯 JavaScript”解决方案需要一秒钟才能运行。JQuery 版本可能需要30秒到一分钟!这可是大事!人们不会坐视不管的。即使是浏览器也会感到厌烦,并提供选项让你关闭网页,因为花费的时间太长了!

如前所述,jQuery 是一个强大的工具,但是应该将 没有视为 一切的答案

对于下面这一行,最初遇到的问题是没有给出单个代码,‘ 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)

这样挺好的。

使用值获取输入名称

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

使用 id 获取输入名称

 $('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类中所有未选中的复选框的名称) ,您可以执行以下操作:

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

或者

var listOfUnchecked = [];
$('.selectable-checkbox:unchecked').each(function () {
listOfUnchecked.push($(this).attr('name'));
});

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

<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>