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

这是代码:

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


它显示:关于“ Article 1”的4条评论

我想做到:4条评论

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

例:3条关于“博客文章4”的评论

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

可能吗?

最佳答案

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>

关于javascript - 删除元素中句子的一部分,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/37091777/

10-09 15:04