Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/85.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/89.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Jquery 如何更改已经包含其他DOM元素的div的文本?_Jquery_Html_Dom - Fatal编程技术网

Jquery 如何更改已经包含其他DOM元素的div的文本?

Jquery 如何更改已经包含其他DOM元素的div的文本?,jquery,html,dom,Jquery,Html,Dom,在我的页面中,我有许多DIV和p标记,我想将所有这些标记的文本更改为“Hi”(任意单词)。我能想到的就是: $('div, p').not('.btn').each ( function() { var oT = $(this).text(); $(this).text ( 'hi ' + oT ); }); 这会以某种方式更改父对象的文本,子对象保持不变 所以问题是我们如何更改所有DIV和p标记的文本。嵌套深度没有限制 p.S.这不是一个真正的问题,我只是想看

在我的页面中,我有许多DIV和p标记,我想将所有这些标记的文本更改为“Hi”(任意单词)。我能想到的就是:

$('div, p').not('.btn').each ( function() {

      var oT = $(this).text();
      $(this).text ( 'hi ' + oT );
  });

这会以某种方式更改父对象的文本,子对象保持不变

所以问题是我们如何更改所有DIV和p标记的文本。嵌套深度没有限制

p.S.这不是一个真正的问题,我只是想看看它是否能实现。

你试过吗

$('.btn').click ( function () {
  $('div, p').not('.btn').each ( function() {

      $(this).prepend('hi');

  });
});

示例:

我认为代码正在执行您要求它执行的操作。除非只针对最里面的s和s,否则它将继续这样做,因为它会替换父对象的内容s@JohnGathogo这是正确的。如何更改每个DIV和P标记文本的文本?这就是问题所在。虽然它没有改变(替换)标签的文本,但它只是在预加。但仍然可以接受。如果您仍然可以将文本完全替换为
replace
,而不是
prepend
,请更改您的答案。
 var oT = $(this).html();
 $(this).html ( 'hi ' + oT );
$('.btn').click ( function () {
  $('div, p').not('.btn').each ( function() {

      $(this).prepend('hi');

  });
});