我从href获取此文本时遇到问题。我正在研究dom,我想从这个href获取文本:
<div class='xx'>
<a href='zz' class='button>
...
我试图这样做:
document.getElementById(".xx").getAttribute("href")
但是它运作不正常
答案 0 :(得分:3)
但是它运作不正常
因为
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;
答案 1 :(得分:2)
getElementById
将按该ID获取元素。你有一个锚(虽然形象不正常)但没有ID而是一个类。其次,你的目标是父div。您应该使用querySelector()
来定位代码。然后,为了获得href,您需要使用href
。
const href = document.querySelector('.xx .button').href;
console.log(href);
&#13;
<div class='xx'>
<a href='zz' class='button'></a>
</div>
&#13;
答案 2 :(得分:1)
以下代码将从链接获取文字:
var x = document.getElementsByClassName('xx')[0].getElementsByTagName("a")[0].getAttribute("href");
答案 3 :(得分:1)
这对我有用
document.getElementsByClassName("xx")[0].getElementsByTagName("a")[0].getAttribute("href")
答案 4 :(得分:0)
你可以使用id而不是class,因为class返回未定义的值。你也尝试使用getby id获取类
错误:
的document.getElementById(&#34; .XX&#34)。的getAttribute(&#34; HREF&#34)
function h()
{
alert(document.getElementById("button").href);
}
&#13;
<a href='zz' id='button' onclick='h();'>
asd</a>
&#13;
答案 5 :(得分:0)
var yourhref = document.querySelector("div.xx a.button").href
yourhref
保留您要求的值。这与使用您提供的部分代码一样精确。 如果页面上的其他地方,您有一个带有类xx的div和一个带有类按钮的链接,那么您将不会玩得开心。
解决方案 - 让你的目标元素或父元素具有UNIQUE id,然后从那里写一个选择。
答案 6 :(得分:-2)
不是单引号丢失的原因吗?
<a href='zz' class='button'>