是否有一个聪明的jQuery选择器用于选择这样的文本节点:
<div><input type="text">one <span>two</span> three</div>
<div><input type="text">one <span>two</span> <strong>three</strong></div>
解决方法
以下是如何使用jQuery选择文本节点:
var x = $('div') .contents() .filter(function() { return this.nodeType == 3; //return this.nodeType == Node.TEXT_NODE; this works unless using IE 7 });
在你的例子中,x将在索引0处包含’one’,在索引1处包含’three’.就像Keith Rousseau所说,你不能真正抓住那个文本,但是如果你知道它将是最后一个你可以得到它像这样:
var elemThree = x[x.length-1];
$(x[x.length-1]).wrap("<strong></strong>");