2010-01-10 3 views
7

есть ли способ получить список атрибутов, заданных для элемента?jQuery получить все атрибуты HTML

пример:

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

Есть ли способ, чтобы получить все вышеперечисленные атрибуты?

Я попытался это уже, но ничего до сих пор:

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

Я попытался это так:

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

не помогло ... так что любые предложения будут оценены.

спасибо.

ответ

3

Используйте этот плагин: http://plugins.jquery.com/project/getAttributes

+0

я не очень люблю аддонов/плагины ... это будет мой последний результат ... Я уже видел это, но спасибо – Val

+3

Тогда посмотрите на код плагина, чтобы посмотреть, как это делается, а? –

+2

@ JanHančič Ссылка мертва. –

2

Вы можете использовать свойство DOM attributes на Базовом элементе JQuery для извлечения NamedNodeMap, содержащих все атрибутов элемента. Это можно быстро проанализировать в объект, который можно передать непосредственно на .attr().

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

attrs Сейчас:

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

Вот jsfiddle, который показывает, как это работает: http://jsfiddle.net/joemaller/cDYtr/

Смежные вопросы