我有这个HTML块(我不想更改代码):
<section class="welcome-block-top">
<div class="inside">
<h2>Start a good life</h2>
<label>text to replace 1</label>
<a href="" class="link-a">
some text i do not want to replace</a>
</div>
</section>
我想替换文本&#34;文本以替换1&#34;
我还想在这里替换文字:
<h3>
<span>
text to replace 2 </span>
</h3>
请教我硕士,我搜索谷歌和堆栈溢出,我似乎得到的东西在我的情况下工作。
使用onload js方法的东西更可取,因为网页是动态加载的。
如果您知道使用其他任何语言执行此操作的更好方法,请不要犹豫通知我。
如果有方法清除元素内的文本然后插入新文本我将不胜感激。
答案 0 :(得分:0)
这取决于您的实际用例,但可能是这样:
$('*:not(:has(*))').text(function(_,t){
return t.replace("text to replace 1", "replacement")
});
这里的主要思想是将转换应用于没有子元素的所有元素的文本(DOM树中的叶子)。
如果您有更复杂的需求或性能要求,您可能需要查看专用库,例如我的:https://github.com/Canop/groumf
答案 1 :(得分:0)
您可以使用JQuery来轻松更改代码的内容。
oldContent = $("div.inside label:first").html();
$("div.inside label:first").html("put your desired content here");
在含有first
类的label
标记中找到div
inside
标记并使用参数更改其html
内容。
修改强>
您当然可以保存旧内容并使用它。
$("div.inside label:first").html(oldContent + " new content");
或
$("div.inside label:first").append(" new content");