Get all Attributes from a HTML element with Javascript/jQuery

attributes, javascript, jquery, parsing

Solution

If you just want the DOM attributes, it's probably simpler to use the `attributes` node list on the element itself:

var el = document.getElementById("someId");
for (var i = 0, atts = el.attributes, n = atts.length, arr = []; i < n; i++){
    arr.push(atts[i].nodeName);
}

Note that this fills the array only with attribute names. If you need the attribute value, you can use the `nodeValue` property:

var nodes=[], values=[];
for (var att, i = 0, atts = el.attributes, n = atts.length; i < n; i++){
    att = atts[i];
    nodes.push(att.nodeName);
    values.push(att.nodeValue);
}

Problem

I want to put all attributes in a Html element into an array: like i have a jQuery Object, whichs html looks like this: ``` <span name="test" message="test2"></span> ``` now one way is to use the xml parser described here, but then i need to know how to get the html code of my object. the other way is to make it with jquery, but how? the number of attributes and the names are generic. Thanks Btw: I can't access the element with document.getelementbyid or something similar.

Original source