更改所有<pre> tags using JavaScript</pre>的内容

时间:2013-02-25 12:03:06

标签: javascript html css tags pre

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

我正在使用它:

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

但这只会更改1个预标签的内容...... ID为'code'的内容。

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

以下是所有代码:

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标签都有不同的内容,我希望相同的脚本更改它(如果可能的话)。

2 个答案:

答案 0 :(得分:2)

您可以使用getElementsByTagName

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

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

    /* modify element.innerHTML here */
}

答案 1 :(得分:0)

代码中的第一个问题。文档中没有两个元素可以具有相同的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";
}