2011-07-05 66 views
2

我有一個包含未格式化文本和兩個div的div。如果你問爲什麼文本沒有格式化,那是因爲它是由插件通過API返回的,所以我不能真正控制它。標記看起來像這樣:刪除除格式以外的所有格式文本?

<div id="parentdiv"> 
    <div class="childdiv"></div> 
    <div class="childdiv"></div> 
    unformattedtext 
</div> 

我該如何擺脫「unformattedtext」?如果可能的話,我想用CSS來完成,但如果沒有,用jQuery也可以。

回答

4

這將刪除文本節點這是#parentdiv直接孩子的:

$("#parentdiv").contents().filter(function(){ return this.nodeType == 3; }).remove(); 
0

您可以將unformattedtext放入一個帶有display:inline的div/a/p/span /字體中,以免破壞格式。

<div id="parentdiv"> 
    <div class="childdiv"></div> 
    <div class="childdiv"></div> 
    <div style="display:inline">unformattedtext</div> 
</div> 

<script type="text/javascript"> 
$("#parentdiv :not(.childdiv)").hide(); //Hide whatever is not .childdiv 
</script> 

的jsfiddle:http://jsfiddle.net/kongr45gpen/EBL4G/