简体   繁体   English

getElementsByClassName 如何通过链接获取 html 元素?

[英]getElementsByClassName How to get html elements with links?

 var classname = document.getElementsByClassName("tag")[0]; var classname = document.getElementsByClassName("tag"); var i = 0; while (i < classname.length) { console.log(classname[i].innerText); i++ }
 <div class="container" style="display:none"> <div id="tagBall1" class="tagBall"> <a href='/tags.php?/While/' class="tag">While</a> <a href='/tags.php?/return/' class="tag">return</a> <a href='/tags.php?/htaccess/' class="tag">htaccess</a> <a href='/tags.php?/' class="tag">CSS</a> <a href='/tags.php?/' class="tag">algorithm</a> <a href='/tags.php?/let/' class="tag">let</a> <a href='/tags.php?/SEO/' class="tag">SEO</a> </div> <p class="tag">2021.1.25</p> </div>

I want to get the class element of a tag, but I get the result that it loses its link.我想获取标签的 class 元素,但我得到它失去链接的结果。 How can I avoid it losing its link我怎样才能避免它失去它的链接

To select all links just select all the a tags.到 select 所有链接只需 select 所有 a 标签。 Then filter out whichever has your classes and then just get the href (or the links) by using a map.然后过滤掉你的类,然后使用 map 获取href (或链接)。

var aTags = document.getElementsByTagName("a")
var tagsWithYourClass = aTags.filter(tag=> tag.matches('.tag') )
var links = tagsWithYourClass.map(tag=> tag.getAttribute("href"))

Otherwise better way is否则更好的方法是

var aTags = document.querySelectorAll("a.tag").map(tag=>tag.href)

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM