繁体   English   中英

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

[英]Wrap a span around some text in jQuery

是)我有的 :

<ul id="myId">
    <li>
        My text
        <ul class="myClass">
            <li>blahblahblah</li>
        </ul>
    </li>
</ul>

我想要的是 :

<ul id="myId">
    <li>
        <span>My text</span>
        <ul class="myClass">
            <li>blahblahblah</li>
        </ul>
    </li>
</ul>

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

$('.myClass').get_the_text_ubove().wrap('<span>');

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

$($('#myId ul').addClass('myClass')[0].previousSibling).wrap('<span>');

JSFIDDLE DEMO

尝试:

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

JS小提琴演示

关于想要将class添加到ul

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

JS小提琴演示

var ul = document.getElementById("myId");
var li = ul.firstElementChild;
var text = li.firstChild;
var ul = li.childNodes[1];
ul.classList.add('myClass');
var span = document.createElement("span");
span.textContent = text.data;
li.replaceChild(span, text);

老式的DOM救援。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM