删除元素中的部分句子

时间:2016-05-07 17:45:15

标签: javascript jquery

我正在使用WordPress的wpdiscuz插件,我想删除.wc-comment-title的部分内容,即使用jQuery或JavaScript删除段落中句子的一部分。

这是代码:

<p class="wc-comment-title">
<span class="wc_header_text_count">4>/span>
"Comments on "Article 1""
</p>

显示: 4条评论“第1条”

我想说的是: 4评论

评论的数量和文章的名称根据评论的数量和相关文章而变化,这是动态的。

Ex: 3 评论“ Blog Post 4

在这种情况下,我希望它显示: 3评论

有可能吗?

2 个答案:

答案 0 :(得分:2)

wc_header_text_count班级,您可以使用.nextSibling获取相邻的文本节点。文本节点有许多可用于操作其内容的方法,但由于您似乎只想将文本Comments放在其位置,因此您可以完全替换它。

var spans = document.querySelectorAll(".wc_header_text_count")

for (var i = 0; i < spans.length; i++) {
  spans[i].nextSibling.data = " Comments";
}
<p class="wc-comment-title">
<span class="wc_header_text_count">4</span>
"Comments on "Article 1""
</p>

<p class="wc-comment-title">
<span class="wc_header_text_count">3</span>
"Comments on "Blog Post 4""
</p>

如果你不一定想要“评论”,而是想要没有引号的第一个单词,你可以使用正则表达式。

var spans = document.querySelectorAll(".wc_header_text_count")

for (var i = 0; i < spans.length; i++) {
  spans[i].nextSibling.data = 
    spans[i].nextSibling.data.replace(/^\s*"?(\w+)[\s\S]*$/, " $1");
}
<p class="wc-comment-title">
<span class="wc_header_text_count">4</span>
"Comments on "Article 1""
</p>

<p class="wc-comment-title">
<span class="wc_header_text_count">3</span>
"Comments on "Blog Post 4""
</p>

答案 1 :(得分:1)

你不能用&#34;替换尾随文本。评论&#34 ;?像这样:https://jsfiddle.net/6o3wha9g/

$('.wc-comment-title').contents().last()[0].textContent=' Comments';