2012-01-13 73 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