Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/70.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 什么是append();和prepend();局限性_Jquery - Fatal编程技术网

Jquery 什么是append();和prepend();局限性

Jquery 什么是append();和prepend();局限性,jquery,Jquery,我希望从每个a中删除[Hello],但同时我希望prepend()和append()函数正常工作。事实上,一个replace()函数可以很好地工作,但其他两个函数都失败了。不过,我在控制台中没有收到任何错误 请记住,$(this)的节点类型是3,因此它是文本类型 为什么append()和prepend()不起作用?: .prepend()方法将指定的内容作为每个元素的第一个子元素插入 但是textNodes没有子节点,因此您不能在其中预先添加或附加元素 但您可以使用和在textNode前后插入内

我希望从每个
a
中删除
[Hello]
,但同时我希望
prepend()
append()
函数正常工作。事实上,一个
replace()
函数可以很好地工作,但其他两个函数都失败了。不过,我在控制台中没有收到任何错误

请记住,
$(this)
节点类型是
3
,因此它是
文本类型

为什么
append()
prepend()
不起作用?

.prepend()方法将指定的内容作为每个元素的第一个子元素插入

但是textNodes没有子节点,因此您不能在其中预先添加或附加元素

但您可以使用和在textNode前后插入内容:

$("a").contents().each(function(){
        this.nodeValue = $.trim($(this).text()).replace("[Hello]","");
        $(this).prepend("Pre").append("End");
});

但是您需要小心,因为对于
some text
而言,
some text
可能由多个文本节点组成,通常情况下不应该是这样,但您应该得到奖励。

这应该是什么输出?
$("a").contents().each(function() {
  this.nodeValue = $.trim($(this).text()).replace("[Hello]", "");
  $(this).before("Pre").after("End");
});