6

ドキュメント内のすべての pre タグを変更する方法を知りたい...

私はこれを使用しています:

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

しかし、これは1つの事前タグの内容を変更するだけです... IDが「コード」のタグ。

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: これは、行の前に数字を付けて通常のコンパイラのように見せるためです。

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

あなたのコードの最初の問題。ドキュメント内の 2 つの要素が同じ 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 に答える