使用JavaScript更改锚文本

时间:2013-12-05 20:49:00

标签: javascript html

我正在尝试更改锚标记的文本。之前我已经完成了这项工作,目标是它所在的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";

4 个答案:

答案 0 :(得分:3)

要获取具有该特定类名的每个元素,您需要遍历该集合。这是一个简单的例子:

http://jsfiddle.net/QU7Kv/1/

<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