如何在 JavaScript 中获取 <a> 标签的值

How to get value of <a> tag in JavaScript

我有这个代码:

<html>
<BUTTON ONCLICK="stups()">VALUE FINDER </BUTTON>
<a value="this is a value" href="value"><img src="b5.jpg"> values rule!!</a>
<p id="demo"></p>
<script>
var a = document.getElementsByTagName("a").value
function stups(){

document.getElementById("demo").innerHTML=a

}
</script>


</html>

javascript 只是为了在单击按钮时获取 th (link) 的值我什至不知道应该是什么值是否是 th href 属性、value 属性、img 属性的值或两个 <a></a> 之间的文本,好吧,我已经尝试了一切可以想到但它从来没有给我任何价值它一直给我这个词 undefined。请帮助。

NB:I need that to be in between the <a></a> because it is a link

提前致谢

您需要从 a 标签中定义您需要的属性。

所以尝试 .getAttribute('value')

<html>
<button onclick="stups()">VALUE FINDER </button>
<a value="this is a value" href="value"><img src="b5.jpg"> values rule!!</a>
<p id="demo"></p>
<script>

function stups(){
   var a = document.getElementsByTagName('a')[0].getAttribute('value');
   document.getElementById("demo").innerHTML=a

}
</script>
</html>

在这些情况下,MDN is your friend.您也不应该复制粘贴您不理解的代码。 imgsrc 指向正在显示的任何图像。 a 标签的 href 是实际的 link。 a 标签内的文本就是显示的内容。您不应该设置 a 标记的 value 属性,因为它是非标准的并且不需要。 document.getElementsByTagName("a") returns 文档中每个 a 标签的数组。您需要通过 运行 document.getElementsByTagName("a")[0] 指定第一个 link。您只需使用 .href 即可获得 link。最后,stups 函数应如下所示:

function stups(){
    var a = document.getElementsByTagName("a")[0].href;
    document.getElementById("demo").innerHTML = a;
}

首先,注意你想做什么,因为.getElementsByTagName("a")会return你是元素的集合。

那么,您可能想使用 .getAttribute("value"):

var a = document.getElementsByTagName("a");

function stups(){
  document.getElementById("demo").innerHTML = a[0].getAttribute("value");
}
<BUTTON ONCLICK="stups()">VALUE FINDER </BUTTON>
<a value="this is a value" href="value"><img src="b5.jpg"> values rule!!</a>
<p id="demo"></p>


⋅ ⋅ ⋅

如果您想管理多个 a 元素,您可以执行以下操作:

  • 使用.querySelectorAll("a"),可以直接使用forEach循环,
  • .push() 数组中的值,
  • 用你的数组做你想做的事。

var as = document.querySelectorAll("a");

function stups(){
  var values = [];
  as.forEach(function(a, index){
    values.push(a.getAttribute("value") || '--- no value ---');
    // OR: values.push(as[index].getAttribute("value"));
  })
  document.getElementById("demo").innerHTML = values.join('<br>');
}
<BUTTON ONCLICK="stups()">VALUE FINDER </BUTTON>
<a value="this is a value" href="value"><img src="b5.jpg"> values rule!!</a>
<a value="this is another value" href="value"><img src="b5.jpg"> values rule!!</a>
<a href="value"><img src="b5.jpg">No value here</a>
<a value="this is another value, again" href="value"><img src="b5.jpg"> values rule!!</a>
<p id="demo"></p>

希望对您有所帮助。