0

関数の1つにある文字列である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>

ここにいます...

私が興味を持っている属性は、balise の div "divGaucheFavRelais" にあります。それらは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;

この解決策があなたが忘れなければならない解決策の1つにすぎないかどうか誰かが教えてくれたら...

私を助けようとしているあなたのツールタイムに再び感謝します;)

4

4 に答える 4

0

外側の 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-06T12:12:32.587 に答える
0

これを試して :

alert($('.divGaucheFavRelais a').data('id-relais'));

このようにAタグにIDを追加したいと思います

<a href="#" id="myId" data-value="12345"></a>

そして通話後

alert($('#myId').data('value'));
于 2014-03-13T14:01:01.970 に答える
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");
于 2014-03-13T15:39:10.400 に答える
0

トラバースを使用してみましたか

私が正しく理解していれば、それは役立つはずです

$(e.sender).parents('div>a').data('id-relais'));
于 2014-03-13T14:02:28.217 に答える