如何从href获取文本?

问题描述 投票:0回答:7

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

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

我试图做那样的事情:

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

但它没有正常工作

javascript dom
7个回答
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;

2
投票

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>

1
投票

这适合我

document.getElementsByClassName("xx")[0].getElementsByTagName("a")[0].getAttribute("href")

1
投票

下面的代码将从链接获取文本:

var x = document.getElementsByClassName('xx')[0].getElementsByTagName("a")[0].getAttribute("href");

0
投票

你可以使用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>

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

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

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


-2
投票

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

<a href='zz' class='button'>
© www.soinside.com 2019 - 2024. All rights reserved.