Javascript 忽略HTML字符串中的元素

Javascript 忽略HTML字符串中的元素,javascript,jquery,Javascript,Jquery,我使用下面的脚本通过在最后两个单词之间插入来防止孤立单词(一行上一个单词本身),并将其应用于特定元素 我想防止这一点应用于标题标记内的标记: <h3>Yes to the h3 but <i class="fa"></i> not the i</h3> 实际结果: <h3>Common FAQs<i class="fa&nbsp;fa-angle-right fa-angle-right f

我使用下面的脚本通过在最后两个单词之间插入
来防止孤立单词(一行上一个单词本身),并将其应用于特定元素

我想防止这一点应用于标题标记内的标记:

<h3>Yes to the h3 but <i class="fa"></i> not the i</h3>
实际结果:

<h3>Common FAQs<i class="fa&nbsp;fa-angle-right fa-angle-right fa-angle-down"></i></h3>
常见问题解答
预期结果:

<h3>Common FAQs<i class="fa fa-angle-right fa-angle-right fa-angle-down"></i></h3>
常见问题解答

如果您需要从
h3
元素中删除
i
标记,您可以使用
克隆该元素。克隆
并从该标记中删除子项,只获取文本

演示代码

$(“p:not(.form row)、h1、h2、h3、h4、h5、h6”)。每个(函数(i、e){
var cloned=$(e).find('i')//take i标记。。
//克隆元素,然后从中删除子元素并仅获取文本
var text=$(e).clone().children().remove().end().text();
text=text.trim().split(“”);
console.log(文本)
如果(text.length>3){
var lastWord=text.pop();
text=text.join(“”)+lastWord;
$(e).html(文本);
$(e).append(克隆);//追加我标记的内容。。。
}
});

常见问题解答
常见问题解答abc ffd

常见问题解答abc ffd vlkd.v
我决定从源代码的元素中删除标记,并将其用作源代码的伪元素。谢谢大家

这是可行的,但是——好吧,它不起作用,因为它在第一行失败:0返回一个字符串。您能在场景中提供所需的“after”吗?如果你移除
i
,那么它将..好。。从输出中删除,这可能不是您想要的。您在选择元素时出错。我的问题格式不好,我会编辑它,但我不想删除元素,我只是不想添加到它。我的问题格式不好,我会编辑它,但我不想删除元素,我只是不想添加到它。请参阅更新的答案。
<h3>Common FAQs<i class="fa fa-angle-right fa-angle-right fa-angle-down"></i></h3>