未捕获的TypeError:getElementsByName不是函数

时间:2016-03-29 18:56:01

标签: javascript

我在页面上有一堆元素,格式如下:

<div class="longdesc">
 <pre style="...">
   //stuff here
 </pre>
</div>
<div class="longdesc">
 <pre style="...">
   //stuff here
 </pre>
</div>

我试图替换<pre>标记内的部分内容,但我遇到了麻烦。

(function () {    
    var nodes = document.getElementsByClassName("longdesc");
    for (var n=0; n<nodes.length; n++) {
        var node = nodes[n].getElementsByName("pre");
        node[0].textContent = node[0].textContent.replace("<", "&lt;");
        //other code
    }
})();
  

VM5185:4未捕获TypeError:nodes [n] .getElementsByName不是   功能

我只需要每个pre中的第一个longdesc。我怎么能这样做?

2 个答案:

答案 0 :(得分:2)

试试这个:

(function () {    
    var nodes = document.getElementsByClassName("longdesc");
    for (var n=0; n<nodes.length; n++) {
        var node = nodes[n].getElementsByTagName("pre");
        node[0].textContent = node[0].textContent.replace("<", "&lt;");
        //other code
    }
})();

答案 1 :(得分:1)