我从href获取此文本时遇到问题。我正在研究dom,我想从这个href获取文本:
<div class='xx'>
<a href='zz' class='button>
...
我试图做那样的事情:
document.getElementById(".xx").getAttribute("href")
但它没有正常工作
但它没有正常工作
因为
id
属性.xx
的元素,.xx
的目标是div
,不是锚此外,您的锚标记的属性类未正确关闭,也没有给出关闭标记。
<div class='xx'>
<a href='zz' class='button'>Some text</a>
</div>
你有一个类,所以使用querySelector
使用类选择器本身
document.querySelector( ".xx .button" ).getAttribute( "href" )
或者干脆
document.querySelector( ".xx .button" ).href;
getElementById
将通过该ID获取元素。你有一个锚(虽然形象不正常)但没有ID而是一个类。其次,你的目标是父div。您应该使用querySelector()
来定位标记。然后要获得href你会使用href
。
const href = document.querySelector('.xx .button').href;
console.log(href);
<div class='xx'>
<a href='zz' class='button'></a>
</div>
这适合我
document.getElementsByClassName("xx")[0].getElementsByTagName("a")[0].getAttribute("href")
下面的代码将从链接获取文本:
var x = document.getElementsByClassName('xx')[0].getElementsByTagName("a")[0].getAttribute("href");
你可以使用id而不是class,因为class返回未定义的值。你也尝试使用getby id获取类
错误:
的document.getElementById( “XX ”)。的getAttribute(“ HREF”)
function h()
{
alert(document.getElementById("button").href);
}
<a href='zz' id='button' onclick='h();'>
asd</a>
var yourhref = document.querySelector("div.xx a.button").href
yourhref
持有您要求的价值。这与使用您提供的部分代码一样精确。如果页面上的其他位置有一个带有类xx的div和一个带有类按钮的链接,那么你将不会玩得开心。
解决方案 - 要么让您的目标元素或父元素具有UNIQUE ID,然后从那里写一个选择。
不是单引号丢失的原因吗?
<a href='zz' class='button'>