我正在尝试制作一个简单的用户脚本,现在看起来像这样:
var i, sig = document.getElementsByClassName('after_content');
for (i = 0; i < sig.length; i++)
{
var str = sig[i].innerHTML;
var n = str.replace("<div style='height:250px;overflow: auto;", "<div style='height:100%;overflow:visible;");
}
我试着这样做是为了看看它是否输出了我想要输出的正确内容;
var i, sig = document.getElementsByClassName('after_content');
for(i = 0; i < sig.length; i++) {
console.log(sig[i].innerHTML);
}
它会输出类中的内容,我想编辑其中的一小部分。 但是当我尝试我发布的第一个代码(str.replace one)时,它不会编辑它。
after_content 包含的内容:
<div class="after_content">
<div style="height:250px;overflow: auto;">
<blockquote class="signature restore"><div class="signaturecontainer">signature here</div></div></blockquote>
</div>
</div>
<div class="cleardiv"></div>
</div>
^ 我要编辑的行是;
<div style="height:250px;overflow: auto;">
..一个。
非常感谢您的帮助。提前致谢。
最佳答案
这是一个非常好的问题,但由于您正在使用 javascript,所以我认为您应该使用 jQuery 来完成此任务。
首先,在您的页面中包含 jQuery:
<script src="http://ajax.googleapis.com/ajax/libs/jquery/latest/jquery.js" type="text/javascript"></script>
然后,当您准备就绪时,给所有您想要更改类“div_class”(<div class="div_class" style="height:250px;overflow:auto;">...</div>
)的 div;
要使用 jQuery 更改 CSS,您只需执行以下操作:
$('.div_class').css({
height:100%;
overflow:visible;
});
jquery.com
这样做是原生 javascript,不需要导入更多库(如 jQuery),只需这样做:
for (i = 0; i < sig.length; i++) {
if (sig[i].style.height == "250px" && sig[i].style.overflow == "auto"){
sig[i].style.height = "100%";
sig[i].style.overflow = "visible";
}
}
这是一个使用原生 JS 的代码示例:http://jsfiddle.net/gdSQW/3/
关于javascript - 用 replace() 替换 HTML 部分?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18957613/