簡體   English   中英

獲取特定元素中的錨href屬性和文本值的列表

[英]Getting list of anchor href attributes and text values in specific element

<li class="bottom">
  <a role="menuitem" aria-haspopups="true" href="/myshop.php">Your Shops</a> &raquo;
  <ul role="menu" class="menu-dropdown" id="menu-sub-shops">
    <li><a href="/myshop.php?shopid=300101">A</a> (<a href="/myshop.php?shopid=300101&act=quickstock">qs</a>)</li>
    <li><a href="/myshop.php?shopid=300739">B</a> (<a href="/myshop.php?shopid=300739&act=quickstock">qs</a>)</li>
    <li><a href="/myshop.php?shopid=300078">C</a> (<a href="/myshop.php?shopid=300078&act=quickstock">qs</a>)</li>
    <li><a href="/myshop.php?shopid=300591">D</a> (<a href="/myshop.php?shopid=300591&act=quickstock">qs</a>)</li>
    <li><a href="/myshop.php?shopid=306981">E</a> (<a href="/myshop.php?shopid=306981&act=quickstock">qs</a>)</li>
    <li class="bottom"><a href="/myshop.php?shopid=300232">F</a> (<a href="/myshop.php?shopid=300232&act=quickstock">qs</a>)</li>
  </ul>
</li>
var t1 = document.getElementById("menu-sub-shops");
for (var i = 0; i < t1.length; i++) {
  var t2 = t1[i].getElementsByTagName('li');
  for (var j = 0; j < t2.length; j++) {
    var t3 = t2[j].getElementsByTagName('a');
    for (var k = 0; k < t3.length; k++) {
      eval("var shopid" + k + " = " + t3[k].attributes['href'].value);
      console.log(t3[k].attributes['href'].value);
    }
  }
}

我正在嘗試使用相關名稱的鏈接無濟於事。 我試圖得到的輸出:

A-/myshop.php?shopid=300101
B-/myshop.php?shopid=300739
C-/myshop.php?shopid=300078
D-/myshop.php?shopid=300591
E-/myshop.php?shopid=306981

我的JSFiddle

您可以使用querySelectorquerySelectorAll

如果將類添加到鏈接中,則可以輕松區分一對。

<ul role="menu" class="menu-dropdown" id="menu-sub-shops">
    <li><a href="/myshop.php?shopid=300101" class="pickme">A</a> (<a href="/myshop.php?shopid=300101&act=quickstock">qs</a>)</li>
    <li><a href="/myshop.php?shopid=300739" class="pickme">B</a> (<a href="/myshop.php?shopid=300739&act=quickstock">qs</a>)</li>
</ul>

現在您的代碼成為

var links = document.querySelectorAll("#menu-sub-shops a.pickme");
for (var i = 0; i < links.length; i++) {
    var text = links[i].text;
    var href = links[i].href;
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM