如何从href获取文本?

时间:2017-12-19 14:32:23

标签: javascript dom

我从href获取此文本时遇到问题。我正在研究dom,我想从这个href获取文本:

<div class='xx'>
  <a href='zz' class='button>
...

我试图这样做:

document.getElementById(".xx").getAttribute("href")

但是它运作不正常

7 个答案:

答案 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

&#13;
&#13;
const href = document.querySelector('.xx .button').href;

console.log(href);
&#13;
<div class='xx'>
  <a href='zz' class='button'></a>
</div>
&#13;
&#13;
&#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)

&#13;
&#13;
function h()
{
alert(document.getElementById("button").href);
}
&#13;
<a href='zz' id='button' onclick='h();'>
asd</a>
&#13;
&#13;
&#13;

答案 5 :(得分:0)

var yourhref = document.querySelector("div.xx a.button").href

yourhref保留您要求的值。这与使用您提供的部分代码一样精确。 如果页面上的其他地方,您有一个带有类xx的div和一个带有类按钮的链接,那么您将不会玩得开心。

解决方案 - 让你的目标元素或父元素具有UNIQUE id,然后从那里写一个选择。

答案 6 :(得分:-2)

不是单引号丢失的原因吗?

<a href='zz' class='button'>