我正在尝试更改锚标记的文本。之前我已经完成了这项工作,目标是它所在的DIV,然后定位该DIV中的锚标记。但是在锚标签上没有任何div或分配的ID我就丢失了。以下是我到目前为止的情况:
HTML:
<a href="#" class="small quality hide-forsmall" >Link Text</a>
JavaScript的:
var anchor=document.getElementsByClassName("quality");
anchor.innerHTML="Changed Text";
答案 0 :(得分:3)
要获取具有该特定类名的每个元素,您需要遍历该集合。这是一个简单的例子:
<a href="#" class="small quality hide-forsmall" >Link Text</a>
<script>
(function (){
var anchor=document.getElementsByClassName("quality");
for(var i = 0; i < anchor.length; i++){
anchor[i].innerHTML="Changed Text";
};
})()
</script>
答案 1 :(得分:1)
document.getElementsByClassName返回与类名匹配的HtmlCollection个元素。
要获得第一个使用:
document.getElementsByClassName("quality")[0];
要更改所有匹配元素中的文本,请迭代它们,类似于:
for(var i = 0; i < anchor.length; i++){
anchor[i].innerHTML="Changed Text";
}
或者你也可以使用querySelector(),它只返回第一个匹配,因此只返回一个元素,类似于:
var anchor=document.querySelector(".quality");
答案 2 :(得分:0)
document.getElementsByClassName("quality");
方法getElementsByClassName
返回HTMLCollection
,而不是单个节点。如果要访问第一个结果,请尝试以下操作:
var anchor = document.getElementsByClassName("quality")[0];
anchor.innerHTML = "Changed Text";
有关getElementsByClassName
的更多信息:https://developer.mozilla.org/en-US/docs/Web/API/document.getElementsByClassName
答案 3 :(得分:0)
getElementsByClassName返回HTMLCollection
。请参阅https://developer.mozilla.org/en-US/docs/Web/API/document.getElementsByClassName。