jquery更改div上的文本

jov*_*i19 2 jquery

我只需要更改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");

Bra*_*tie 7

$.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');应该完美地工作.