2010-12-09 112 views
1

對於該HTML替換具有非textnode兄弟姐妹

<標籤 ID = 「nameWrapper」 > <輸入 類型= 「複選框」 名稱= 「名稱」 />旅客< /標記的textnode >

什麼是用其他文本代替guest的最短javascript代碼?我能想到的是,

$('#nameWrapper').contents().filter(function() { 
    return this.nodeType == 3; 
}).replaceWith('other text'); 

回答

2

非jQuery方法。

實施例:http://jsfiddle.net/patrick_dw/NLJ3e/

document.getElementById('nameWrapper').lastChild.data = 'new text'; 

或用jQuery選擇縮短:

實施例:http://jsfiddle.net/patrick_dw/NLJ3e/1/

$('#nameWrapper')[0].lastChild.data = 'new text'; 

或者稍長(和慢),但更像jQuery:

實施例:http://jsfiddle.net/patrick_dw/NLJ3e/2/

$('#nameWrapper').contents().last().replaceWith('new text'); 
+0

1具有更好的解決方案:) – alex 2010-12-09 03:36:19