2014-09-04 37 views
1

我有我的HTML一些價值,我想刪除:jQuery的 - 刪除HTML值

<td valign="top" class="ms-formbody"> 
    <div class="sputility-readonly">12</div> 
    99.99   
</td> 

我想刪除'99 .99' 這可能嗎?

回答

7

您可以過濾文本節點的內容:

$('.ms-formbody').contents().filter(function(){ 
    return this.nodeType === 3; //nodeType 3 is a text node. 
}).remove(); 

http://jsfiddle.net/o86upesc/1/

4

是的。您可以使用jQuery's detach() method然後清除HTML,並添加div回到分離從tddiv元素:

var div = $('td.ms-formbody').find('div').detach(); 

$('td.ms-formbody').html('').append(div); 

JSFiddle demo

+1

不克隆,使用'.detach()' – 2014-09-04 13:24:12

+2

@ Karl-AndréGagnonooh,我忘記了這一點。我已經更新了我的答案。 – 2014-09-04 13:25:47

+0

+1這就是我要先寫的! – 2014-09-04 13:27:31

0
var sputility = $(".sputility-readonly"); 
$(".ms-formbody").empty(); 
$(".ms-formbody").append(sputility); 
+0

你錯過了「。」在選擇器:) – szpic 2014-09-04 13:30:08

+0

啊,是的!現在更正! – worldask 2014-09-04 13:57:03

0

試試這個:克隆的td孩子,然後把這些孩子的主要td

var children = $('td.ms-formbody').children().clone(); 
$('td.ms-formbody').html(children); 
HTML
1

晚會晚了,但t他最簡單的一種/最快的版本我能想出是:

var form = $('td.ms-formbody'); 
form.html(form.children().detach()); 

的jsfiddle:http://jsfiddle.net/TrueBlueAussie/o86upesc/4/

它使用的html()的版本,需要的jQuery對象(而不是字符串)。它也不關心其他孩子是什麼,所以更改更靈活一些。

Karl-AndréGagnon的標記答案仍然是最好的。我只是想看看有什麼更短的替代品可用:)