如何使用jQuery获取元素名称?


130

如何使用jQuery获取HTML元素的名称属性?


一些有关您想要名称的元素的html甚至更多的信息将帮助我们为您提供更具体的答案。
帕特里夏(Patricia)2012年

4
使用.prop()获得的属性,并.attr()获得属性。不要.attr()像每个人所建议的那样去获得财产。我们在这里使用JavaScript,而不是HTML标记。

11
这应该重新打开。应该向Asker提出奖励,使其直截了当,不要以“我在哪里拥有这个网站...”开头
cantera

@ cantera25:感谢您指出了这一点..
Poonam布哈特

Answers:


221

你应该使用attr('name')这样的

 $('#yourid').attr('name')

您应该使用id选择器,如果使用类选择器,则会遇到问题,因为返回了集合


8
当我使用this或.prop()时,我只是得到未定义的值
HorusKol 2013年

1
有什么理由比att('name')更喜欢attr('name')吗?
达林2015年

我使用$(this).attr('name');了一个类选择器$('.jobSelect').change(function() {,但没有遇到问题。
奥马尔的

14

要读取对象的属性,请使用.propertyName或使用["propertyName"]符号。

这对元素没有什么不同。

var name = $('#item')[0].name;
var name = $('#item')[0]["name"];

如果您特别想使用jQuery方法,则可以使用该.prop()方法。

var name = $('#item').prop('name');

请注意,属性和属性不一定相同。


我认为prop()是布尔属性,checked而不是属性
Nicola Peluchetti 2012年

2
@NicolaPeluchetti:.prop()适用于DOM元素上的任何属性。.attr()是一个非常混乱的方法,已在不同版本之间更改了其行为,有时为您提供属性,而有时为您提供属性。无论哪种方式,应使用适当的方法来观察属性和属性之间的区别。

3
@NicolaPeluchetti:这是一个示例,说明了属性和属性之间的区别。


5

玩这个jsFiddle示例

HTML:

<p id="foo" name="bar">Hello, world!</p>

jQuery的:

$(function() {
    var name = $('#foo').attr('name');

    alert(name);
    console.log(name);
});

这使用jQuery的.attr()方法获取匹配集中第一个元素的值。

虽然不是jQuery,但结果显示为警报提示,并写入浏览器的控制台



By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.