2010-01-10 36 views
7

có cách nào để lấy danh sách các thuộc tính được đặt thành một phần tử không?jQuery nhận tất cả các thuộc tính HTML

dụ:

<div id="myID" title="I am Title" myAttr="I am something else">Hello World!!!</div> 

Có cách nào để có được tất cả các thuộc tính trên?

Tôi cố gắng này đã nhưng không cho đến nay:

$('#myID').attr(); 

Tôi cố gắng này cũng như:

$('#myID').attr().each(function(a,b){ 
    alert(a); 
}); 

không giúp được gì ... vì vậy bất kỳ lời đề nghị sẽ được đánh giá.

cảm ơn.

Trả lời

3
+0

tôi không thực sự thích addons/plugins ... nó sẽ là kết quả cuối cùng của tôi ... tôi đã thấy điều đó, nhưng cảm ơn – Val

+3

Sau đó, hãy xem mã của plugin để xem cách thực hiện, eh? –

+2

@ JanHančič Liên kết đã chết. –

2

Bạn có thể sử dụng thuộc tính DOM attributes trên các yếu tố cơ bản jQuery để trích xuất một NamedNodeMap chứa tất cả các thuộc tính của phần tử. Điều này có thể được phân tích nhanh chóng thành một đối tượng có thể được chuyển trực tiếp đến .attr().

var attrs = {}; 
var attrMap = $('#myID')[0].attributes; 
$.each(attrMap, function(i,e) { attrs[e.nodeName] = e.nodeValue; }); 

attrs bây giờ là:

{id: "myID", title: "I am Title", myattr: "I am something else"} 

Dưới đây là một jsfiddle cho thấy cách làm việc này: http://jsfiddle.net/joemaller/cDYtr/

Các vấn đề liên quan