2016-05-07 103 views
0

我正在使用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評論

數的評論以及文章的名稱根據意見以及有關文章的數量而變化,是動態的。

例如:評論對 「博客帖子4

在這種情況下,我希望它顯示:3評論

這可能嗎?

+0

是來自API的評論數量還是純粹的客戶端? –

+0

它純粹是客戶端作爲文章的名稱。我想要的唯一的細節是刪除文章的名稱。文章前的'on'我可以在插件的短語設置中進行操作。 – viery365

回答

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>

+0

謝謝:)我要去試試:) – viery365

+0

你真了不起!謝謝它完全解決了!!!!! – viery365

+0

我只需等待一分鐘即可接受您的答案:) – viery365

1

你不能只是取代 「註釋」 結尾的文本?像這樣:https://jsfiddle.net/6o3wha9g/

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

是:)它也可以。你的'簡單'的jQuery語句也可以被接受。遲到幾分鐘。但對於每個人都有一個類似的問題:這也工作!非常感謝你! – viery365

+0

唯一的區別是,當它有0條評論時,它只顯示'評論',而不是'0評論' – viery365