2015-10-06 59 views
-1

我一直在尋找如何做到這一點我找不到一個好的答案或建議的解決方案不起作用?我希望有人幫助我。在div jQuery後刪除文本

例如,如果我有以下內容。

<div class="cons-info-question-container field-required"> 

<div class="form-content"></div> 
* 
<div class="form-content"></div> 
* 
</div> 

如何在每個.form-content之後刪除*?我已經添加了aftertext.js,所以我可以添加文本,但我認爲這個插件也允許通過.afterText()。remove()/。hide()去除aftertext。也許我基地的方式?

非常感謝您的幫助。

回答

2

jQuery沒有一種方便的方法來選擇文本節點。但是,您可以使用filter()函數來減少匹配元素的數量,然後使用remove()

例如,調用下面的jQuery將從.cons-info-question-container刪除*元素:

$('.cons-info-question-container').contents().filter(function(){ 
    return this.nodeType === 3 && $.trim(this.nodeValue) !== ''; 
}).remove(); 

jsFiddle Demo

+0

謝謝你這是工作的第一個! – ChrisKsag

0

這將與孩子們的HTML代替所有的.cons-info-question-containerHTML

$(".cons-info-question-container").html($('.cons-info-question-container').children()); 
1
$('.cons-info-question-container .form-content').each(function() { 
    var next = this.nextSibling; 
    if (next && next.nodeType === 3) { 
     $(next).remove(); 
    } 
}); 
+0

謝謝你的迴應。我無法得到這個工作,但我仍然看着它。 – ChrisKsag

+0

是頁面上的jQuery?如果不是,我可以調整使用普通/香草js的答案 – harris