我从HREF获得此文本有问题。我正在研究DOM,我想从此HREF中获得文字:
<div class='xx'>
<a href='zz' class='button>
...
我试图这样做这样的STH:
document.getElementById(".xx").getAttribute("href")
但是它无法正常工作
但是它无法正常工作
因为
- 您没有
id
属性.xx
,
的元素 -
.xx
靶向div
而不是锚
另外,您的锚定标签的属性 class 也没有给出关闭标签。
<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,而是类。其次,您是针对父级的。您应该使用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而不是类,因为类返回未定义的值。您也尝试使用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和一个带有类按钮的链接,您将不会有好时光。
解决方案 - 具有目标元素或父元素具有唯一的ID,然后从那里写下选择。