我试图从outerHTML获取一些特定的属性,这是我在我的一个函数中的字符串。
这是HTML:
<div data-role="touch" style="width:100%;overflow:hidden;" data-enable-swipe="true" data-swipe="relayControler.OnSwipeFavoris"> (relayControler.js, line 65)
<div class="divGaucheFavRelais" style="float:left;width:80%;">
<a style="border:none;-webkit-tap-highlight-color:none;width:95%;" data-role="button" data-click="relayControler.DetailsRelais" data-id-relais="39403" data-code-pays-relais="FR" class="km-widget km-button km-state-active">
<span class="PointRelaisImage km-text" style="background-image: url(http://www.mondialrelay.com/img/dynamique/pr.aspx?id=FR039403); margin-top:8px;"></span>
<div class="PR-Name">
CORDONNERIE GAMBETTA
</div>
<div class="PR-Adress"> 64 RUE LITTRE
</div>
<div class="PR-Adress" style="margin-left:53px"> 59000 - LILLE - FR
</div>
</a>
</div>
<div class="buttonUndoFavoris" style="width:100%;height:50px;background-color:grey;display:none;">
<div class="textRelaisSupprime" style="float:left">
<p> Favori <sup>®</sup>supprime</p>
</div>
<div class="imageRelaisSupprime" style="float:right">
<a class="button km-widget km-button" data-role="button" style="border:none;top:3px;"><span class="km-text"><img src="./img/undo.png" id="icoUndoFavoriSup" class="km-image"></span></a>
</div>
</div>
</div>
我们在这......
我感兴趣的属性在div&#34; divGaucheFavRelais&#34;在应答器中。 它们是data-id-relais和data-code-pays-relais,我在JQuery中尝试了一些东西,但我无法得到它们,当我打印它时总是得到一个未定义的错误。
这是我试过的:
alert($(e.sender.element[0].outerHTML).data('id-relais'));
您看到的HTML代码是由模板生成的,这就是为什么我无法以另一种方式获取它们的原因......
如果有人可以提供帮助......非常感谢你:)
编辑:
我找到了如何获得我需要的信息,但我不确定这是正确的方式...... 这对我来说似乎有些笨拙......
e.sender.element[0].firstElementChild.childNodes[1].attributes.item(3).value;
e.sender.element[0].firstElementChild.childNodes[1].attributes.item(4).value;
如果有人能告诉我这个解决方案是否只是其中一个你必须忘记...
再次感谢那些你试图帮助我的工具;)
答案 0 :(得分:0)
试试这个:
alert($('.divGaucheFavRelais a').data('id-relais'));
我更愿意为此标记添加ID
<a href="#" id="myId" data-value="12345"></a>
和通话后
alert($('#myId').data('value'));
答案 1 :(得分:0)
答案 2 :(得分:0)
我认为这是做到这一点的好方法:
var div = e.sender.element[0];
var bouton = $(".boutonListeFavoris",div);
var idRelais = bouton.attr("data-id-relais");
var codePays = bouton.attr("data-code-Pays-relais");
答案 3 :(得分:0)
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;
}