2013-04-13 130 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