替换具有非textnode兄弟节点的textnode

时间:2010-12-09 03:05:58

标签: javascript jquery

对于此HTML

  

<标签   ID = “nameWrapper” ><输入   type =“checkbox”name =“name”   />客人< /标签>

用其他文字替换guest的最短javascript代码是什么?我能想到的是,

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

1 个答案:

答案 0 :(得分:3)

非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');