-1

まあ、私のタイトルが言うように。ページ全体の HTML/CSS を検索し、JavaScript を使用して特定の文字列を置き換えることはできますか?

私は自分で何かを作ろうとしましたが、間違っています。

var i, sig = document.getElementsByClassName('signaturecontainer');
for (i = 0; i < sig.length; i++)
{
    var str = sig[i].innerHTML;
    var n = str.replace(/< div style='250px;overflow:scroll;'/g, "< div > style='height:100%'");
}

.innerHTML を使用する代わりに文字列を置き換えて編集したいのは、変更したい div に ID/クラスがないためです。

これは、私が変更する必要がある行です:

            <!-- edit note -->
            <blockquote class="postcontent lastedited">

                    Last edited by X; Today at <span class="time">06:32 AM</span>.


            </blockquote>
            <!-- / edit note -->



            <div style="height:250px;overflow: auto;"> // <--- This one.
                <blockquote class="signature restore"><div class="signaturecontainer">text here</div></blockquote>
            </div>

        </div>
4

2 に答える 2

1

この行は問題を引き起こします:

    var new = str.replace(/< div style='250px;overflow:scroll;'/g, "< div > style='height:100%'");
  • newは予約語です。newstr などに変更します。
  • 正規表現パターンで何も見つからない可能性があります: 検索対象は有効な CSS ではありません
  • 挿入しようとしている文字列は有効な HTML/CSS ではありません。それはおそらく<div style='height:100%;'>

スタイリングを微調整するだけなら、これは不器用な方法だと思います。スタイルは Javascript で直接変更できます。

var i, sig = document.getElementsByClassName('signaturecontainer');
for (i = 0; i < sig.length; i++)
{
  sig[i].parentNode.style.height = "100%";
}
于 2013-09-22T23:50:34.407 に答える
0

不可能ではありません。JavaScript を使用すると、変更しようとしているタグを見つけて HTML ドキュメントを解析できます。例えば

    <div id="getThisChanged">change this text</div>

この JavaScript の次の行を実行すると、タグ内のテキストを変更できます。

            document.getElementById('getThisChanged').innerHTML("text is now changed");

テキストは「テキストが変更されました」に変更されます

于 2013-09-22T23:49:26.227 に答える