我只需要更改div中的文本,其中包含其他元素.我试过这个text方法,但它改变了div的全部内容.
示例div:
<div class="mydiv">
MY TEXT HERE
<ul>
<li>BLAH</li>
<li>BLAH</li>
</ul>
</div>
Run Code Online (Sandbox Code Playgroud)
这就是我现在尝试过的: $(".mydiv").text("MY NEW TEXT");
$.fn.extend({
text2: function(t){
return this.each(function(a,b){
$(b).contents().map(function(c,d){
return (d.nodeType === 3 ? d : null);
}).get(0).data = t;
});
}
});
Run Code Online (Sandbox Code Playgroud)
这是我的解决方案.仅影响选择器中找到的第一个文本节点,然后将其替换为提供的文本.使用它,$('.mydiv').text2('MY NEW TEXT');应该完美地工作.
| 归档时间: |
|
| 查看次数: |
3298 次 |
| 最近记录: |