在jQuery中包含一些文本的跨度

Pur*_*h32 5 jquery

是)我有的 :

<ul id="myId">
    <li>
        My text
        <ul class="myClass">
            <li>blahblahblah</li>
        </ul>
    </li>
</ul>
Run Code Online (Sandbox Code Playgroud)

我想要的是 :

<ul id="myId">
    <li>
        <span>My text</span>
        <ul class="myClass">
            <li>blahblahblah</li>
        </ul>
    </li>
</ul>
Run Code Online (Sandbox Code Playgroud)

我没有访问HTML标记,我想用jQuery做这件事,像:

$('.myClass').get_the_text_ubove().wrap('<span>');
Run Code Online (Sandbox Code Playgroud)

必须有一些选择"我的文本"的方法,即使它没有类/ ID

Dav*_*mas 6

尝试:

$('#myId > li').each(
    function(){
        $(this.firstChild).wrap('<span></span>');
    });
Run Code Online (Sandbox Code Playgroud)

JS小提琴演示

关于想要添加classul

$('#myId > li').each(
    function(){
        $(this.firstChild).wrap('<span></span>');
        $(this).find('ul').addClass('myClass');
    });
Run Code Online (Sandbox Code Playgroud)

JS小提琴演示


Rig*_*red 6

$($('#myId ul').addClass('myClass')[0].previousSibling).wrap('<span>');
Run Code Online (Sandbox Code Playgroud)

JSFIDDLE DEMO