如何从innerHTML文本中获取属性的值?

时间:2013-10-02 16:20:56

标签: jquery

如何从outerHTML文本中的“data-column”获取属性的值?

$.each($groupingColumnUl[0].children, function(i1, o1) {
   alert(o1.outerHTML.prop('data-column');  //.attr('data-column');  //.find('data-column');
});

outerHTML中的实际值是

<li class='ui-state-default' data-column='Model'><span style='display:inline-block;' class='ui-icon ui-icon-close'></span>Model</li>

我想得到“模特”的价值

4 个答案:

答案 0 :(得分:2)

尝试。

$.each($groupingColumnUl[0].children, function(i1, o1) {
   alert($(o1).data('column'));
});

或(如果是较旧的JQuery版本):

$.each($groupingColumnUl[0].children, function(i1, o1) {
   alert($(o1).attr('data-column'));
});

答案 1 :(得分:2)

OuterHTML Text:

<input id ="UserControl" value ="New Custmer" defaultvalue="Cust415875" clientcontrolname = "CusterInfo">

从outerHTML获取clientcontrolname(attribute)值:

    var strGrpAssoc = oGrpAssoc.outerHTML + "</input>";
    var xmlGrpAssoc = loadXMLString(strGrpAssoc.toLowerCase());
    var sClientControlName = xmlGrpAssoc.getElementsByTagName("input")[0].getAttribute("clientcontrolname"); 

function loadXMLString(txt) {
    if (window.DOMParser) {
        parser = new DOMParser();
        xmlDoc = parser.parseFromString(txt, "text/xml");
    }
    else // code for IE
    {
        xmlDoc = new ActiveXObject("Microsoft.XMLDOM");
        xmlDoc.async = false;
        xmlDoc.loadXML(txt);
    }
    return xmlDoc;
} 

答案 2 :(得分:0)

outerHTML为你提供了一个sting,而不是一个jQuery对象,所以如果你想通过jQuery API访问一个元素的data属性,你可以尝试:

alert($(o1.outerHTML).data('column')

答案 3 :(得分:0)

尝试以下

alert($(o1).data('column'));