在我的页面中,我有许多 DIV 和 P 标签,我想将所有这些标签的文本更改为“Hi”(任意单词)。我能想到的只有:
$('div, p').not('.btn').each ( function() {
var oT = $(this).text();
$(this).text ( 'hi ' + oT );
});
<div class='btn'>Change All Text</div>
<div id='container1'>
main content
<div>
div > div
<p>
div > div > p
</p>
</div>
<p>div > p </p>
<p>div > p </p>
</div>
<p>
p
</p>
<p>P
</p>
见:http: //jsbin.com/usepuq/
现在,它所做的不是更改所有 Div 的文本:它正在更改父对象的文本。一旦它改变了父对象的文本,所有子对象都会自动消失。所以我们只留下了一个 Div 和两个 P 标签。
我可以做的另一件事是:
var oT = $(this).html();
$(this).html ( 'hi ' + oT );
这以某种方式改变了父对象的文本,而子对象保持不变。
所以问题是我们如何更改所有 DIV 和 P 标签的文本。嵌套深度没有限制。
PS这不是一个真正的问题,我只是想看看它是否可以完成。