3

如何从 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

4 回答 4

2

外部HTML文本:

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

从 outerHTML 获取 clientcontrolname(属性)值:

    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;
} 
于 2015-03-06T11:30:44.913 回答
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'));
});
于 2013-10-02T16:29:11.110 回答
0

outerHTML 给你一个字符串,而不是 jQuery 对象,所以如果你想通过 jQuery API 访问元素的 data 属性,你可以尝试:

alert($(o1.outerHTML).data('column')
于 2013-10-02T16:25:14.660 回答
0

试试下面

alert($(o1).data('column'));
于 2013-10-02T16:25:29.797 回答