Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/419.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何从href获取文本?_Javascript_Dom - Fatal编程技术网

Javascript 如何从href获取文本?

Javascript 如何从href获取文本?,javascript,dom,Javascript,Dom,我无法从href获取此文本。我正在处理dom,我想从以下href获取文本: <div class='xx'> <a href='zz' class='button> ... 但它工作不正常下面的代码将从链接中获取文本: var x = document.getElementsByClassName('xx')[0].getElementsByTagName("a")[0].getAttribute("href"); 但它不能正常工作 因为 您没有具有id属性.x

我无法从href获取此文本。我正在处理dom,我想从以下href获取文本:

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

但它工作不正常

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

var x = document.getElementsByClassName('xx')[0].getElementsByTagName("a")[0].getAttribute("href");
但它不能正常工作

因为

  • 您没有具有
    id
    属性
    .xx
    的元素
  • .xx
    div
    为目标,而不是锚定
此外,锚点标记的属性类没有正确关闭,也没有给出关闭标记

<div class='xx'>
  <a href='zz' class='button'>Some text</a>
</div>
或者干脆

document.querySelector( ".xx .button" ).href;
这对我有用

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

getElementById
将通过该ID获取元素。您有一个锚(虽然格式不正确),它不是ID而是类。其次,您的目标是父div。您应该改为使用
querySelector()
以标记为目标。然后使用
href
获取href

const href=document.querySelector('.xx.button').href;
console.log(href)

您可以使用id而不是类,因为类返回未定义的值。此外,您还尝试使用getby id获取类

错:

document.getElementById(“.xx”).getAttribute(“href”)

函数h()
{
警报(document.getElementById(“button”).href);
}
yourref
保存您请求的值。这与只使用您提供的部分代码一样精确如果页面上的其他地方你有一个带有class xx的div和一个带有class按钮的链接,你将不会玩得很开心


解决方案-让目标元素或父元素具有唯一id,然后从中写入选择。

href是另一个元素,而不是属性。“.xx”是类选择器,而不是id选择器。什么文本?您的示例中没有显示任何文本。我建议你参加一个初学者教程,因为这看起来像是猜测。
xx
是一个类而不是一个ID。阅读这里:你完全正确!注释已删除…zz不是一个class@CiroSpaciari谢谢,现在就用
按钮更正了同样的问题,当你在做的时候,你也可以指出html中的错误(一个
a
类的未关闭属性值)@FedericoklezCulloca我很确定这是一个打字错误,无论如何都会指出同样的错误。有趣的是,这个过于复杂的答案是第一次尝试时唯一正确的答案。
document.querySelector( ".xx .button" ).href;
document.getElementsByClassName("xx")[0].getElementsByTagName("a")[0].getAttribute("href")
var yourhref = document.querySelector("div.xx a.button").href