2013-04-13 127 views
1

我想通過Jquery事件獲取所有屬性屬性。我知道我可以做這樣的事情檢索元素的信息:獲取所有屬性屬性

$(this).attr('id'); 

所以,如果我想包括類,我會做這樣的事情:

$(this).attr('id'); 
$(this).attr('class'); 

不過,我想縮短/儘可能簡化代碼,所以我想知道我是否可以一次獲取所有屬性屬性而不必先指定它們。有沒有辦法做到這一點?也許是一個插件?

+0

我已經採取了看看在重複提供的答案,它開始了與'變種EL =的document.getElementById( 「someId」) ;'這意味着一些信息是已知的開始。在我的代碼中,情況並非如此,我絕對沒有任何信息,但希望在點擊時獲得它 – Youss

+0

@Youss,在'click'處理程序中,'this'將被綁定到被單擊的元素,所以你根本不需要'getElementById()'。 –

+0

@FrédéricHamidi在(鏈接)[JsFiddle](http://jsfiddle.net/yeZrC/1/) – Youss

回答

2

下面是一個例子:

<div id="test" class="test" type="test"/> 

// select the test element and bind the handler 
$('#test').click(function(){ 
    // loop over it's attributes on click 
    for(var i = 0;i < this.attributes.length;i++){ 
     console.log(this.attributes[i]); 
    } 
}); 

演示:http://jsfiddle.net/louisbros/75w7y/

+0

謝謝你的工作:) – Youss

+0

不客氣。 – louisbros