6

我想知道如何更改文档中的所有 pre 标签...

我正在使用这个:

var preContent = document.getElementById('code').innerHTML;

但这只会改变 1 个 pre 标签的内容......带有 ID 'code' 的那个。

如果你能告诉我如何使用 JavaScript 更改所有 pre 标签,我很感激

这是所有代码:

window.onload = function () {
    var preContent = document.getElementById('code').innerHTML;
    var codeLine = new Array();
    var newContent = '<table width="100%" border="1" ' 
        + 'cellpadding="0" cellspacing="0" >';

    codeLine = preContent.split('\n');
    for (var i = 0; i < codeLine.length; i++) {
        newContent = newContent + '<tr><td class="codeTab1" >' 
            + i.toString() + '</td><td class="codeTab2">' 
            + codeLine[i] + '</td></tr>';
    }
    newContent = newContent + '</table>';

    document.getElementById('code').innerHTML = newContent;
}

PS:这是为了让一个普通的编译器看起来像在行 PPS 之前带有数字的普通编译器:每个 pre 标签都会有不同的内容,我希望使用相同的脚本来更改它(如果可能的话)。

4

2 回答 2

3

您可以使用getElementsByTagName

var preElements = document.getElementsByTagName('pre');

for(var i = 0; i < preElements.length; ++ i)
{
    var element = preElements[i];

    /* modify element.innerHTML here */
}
于 2013-02-25T12:05:18.033 回答
1

代码中的第一个问题。文档中没有两个元素可以具有相同的 id 。

因此,您可以使用 jquery 轻松更改它。看代码。

$('pre').html("what ever text you want to show ");

或者使用 javascript 你可以这样做:

var x = document.getElementsByTagName('pre');
for(var i = 0; i < x.length; ++ i)
{
   x.innerHTML = "what ever text you want to show";
}
于 2013-02-25T12:53:39.790 回答