2014-01-09 79 views
0

我只是想刪除輸入後的文字,有什麼想法?輸入標籤後刪除文字

<label class="checkbox"> 
<input id="forms-element-0-0" name="checkbox[]" value="1" type="checkbox"> 
remove me 
</label> 
+0

那麼前面的文字呢? – crush

+0

可能重複的[如何用jQuery刪除元素內的文本?](http://stackoverflow.com/questions/6690445/how-to-remove-text-inside-an-element-with-jquery) – j08691

回答

3

我會跳過jQuery的這一點,如果這僅僅是一個input的以下文字,並使用:

document.getElementById('forms-element-0-0').nextSibling.nodeValue = ''; 

JS Fiddle demo

要刪除textNode(而不是簡單地替換它與一個空字符串文本):

var text = document.getElementById('forms-element-0-0').nextSibling; 
text.parentNode.removeChild(text); 

JS Fiddle demo

如果你有label元素的集合合作,通過我建議:

$('label').contents().filter(function(){ 
    return this.nodeType === 3; 
}).remove(); 

JS Fiddle demo

參考文獻:

+0

爲什麼不能只是刪除節點? – crush

+0

沒有特別的原因,我只是假設它可能需要以後。 –

+2

@DavidThomas:應該是'nodeType'而不是'nodeValue',否則最後一個應該工作。 –