2012-01-13 89 views
92

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

+0

一些html或甚至更多关于你想要的名称元素的信息将帮助我们给你一个更具体的答案。 – Patricia 2012-01-13 15:13:38

+3

使用'.prop()'获取属性,使用'.attr()'获取属性。不要使用'.attr()'按照每个人的建议获取一个属性。我们在这里使用JavaScript,而不是HTML标记。 – 2012-01-13 15:29:54

+10

这应该重新打开。阿斯克尔应该得到奖励,以达到的目的,而不是像“我有这个网站在哪里......” – cantera 2013-08-28 15:31:29

回答

150

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

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

因为集合返回

+6

当我使用这个或.prop() – HorusKol 2013-09-30 06:02:53

+1

时,我刚刚得到未定义的值有没有什么理由比prop('name')更喜欢attr('name')? – dallin 2015-08-05 23:50:46

9
$('someSelectorForTheElement').attr('name'); 
+0

你应该使用一个ID选择器,如果你使用类选择器你遇到问题,因为收集返回 – 2012-01-13 15:15:16

+1

id将是最具体的是的,但没有他们的HTML和完全缺乏问题的细节,很难说什么选择他们应该使用。 – Patricia 2012-01-13 15:16:52

2
var name = $('#myElement').attr('name'); 
7

你应该使用一个ID选择,如果你使用一个类选择您遇到问题要阅读您使用的对象的属性.propertyName["propertyName"]表示法。

这对元素来说没有什么不同。

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

如果你特别想使用jQuery方法,那么你应该使用.prop()方法。

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

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

+0

我认为'prop()'是用于像'checked'这样的布尔属性而不是属性 – 2012-01-13 15:16:29

+2

@NicolaPeluchetti:'.prop()'是DOM元素上的任何属性。 '.attr()'是一个非常混乱的方法,它在不同的版本之间改变了它的行为,有时会给你属性,其他时候属性。无论哪种方式,都应该通过使用适当的方法来观察属性和属性之间的区别。 – 2012-01-13 15:18:31

+2

@NicolaPeluchetti:[这是一个例子](http://jsfiddle.net/u35MG/),它说明了属性和属性之间的区别。 – 2012-01-13 15:23:41

0

方法.attr()允许获得在一个jQuery对象的第一个元素的属性值:

$('#myelement').attr('name'); 
1

玩弄此jsFiddle example

HTML:

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

jQuery:

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

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

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

虽然不是特别的jQuery,但结果显示为alert prompt并写入浏览器的console

相关问题