好吧,就像我的标题所说的那样。 是否可以搜索整个页面的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 / Class。
这就是我需要更改的行:
<!-- 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>
答案 0 :(得分:1)
这一行会给你带来麻烦:
var new = str.replace(/< div style='250px;overflow:scroll;'/g, "< div > style='height:100%'");
new
是保留字。将其更改为newstr或其他任何内容。<div style='height:100%;'>
我觉得,如果你只是调整造型,那么这是一种笨拙的方式。您可以使用Javascript直接更改样式。
var i, sig = document.getElementsByClassName('signaturecontainer');
for (i = 0; i < sig.length; i++)
{
sig[i].parentNode.style.height = "100%";
}
答案 1 :(得分:0)
我们不是不可能,使用JavaScript,您可以通过找到您要更改的标记来解析HTML文档。例如
<div id="getThisChanged">change this text</div>
通过执行下一行JavaScript,您可以更改标记内的文本
document.getElementById('getThisChanged').innerHTML("text is now changed");
文本将更改为“文本现已更改”