0

这就是我的 CMS 将生成的内容

<ul>
    <li>something 1<span>subline</span></li>
    <li>something 2<span>subline</span></li>
    <li>something 3<span>subline</span></li>
</ul>

这是我以后想要的,我想克隆 each 的内容,<li>然后把它放在 a 里面<span>并放在它的前面。

<ul>
    <li><span class="slidein">something 1<span>subline</span></span>something <span>subline</span></li>
    <li><span class="slidein">something 2<span>subline</span></span>something <span>subline</span></li>
    <li><span class="slidein">something 3<span>subline</span></span>something <span>subline</span></li>
</ul>

我的问题是我对 jQuery 知之甚少,我知道诸如 , 之类的函数html(), appendTo(), clone(),但我尝试将它们放在一起以使这项工作失败。

我的问题之一是我不知道如何self在一次尝试中处理我的自我只是没有工作。我需要使用each()功能吗?我相信会有很多方法可以做到这一点,但最容易理解的代码是什么?

我打算使用克隆的跨度,你猜对了,在悬停时以另一种颜色样式将其滑入。我想我必须克隆它,只有当我想在它之前移动完全相同的内容时,CSS才会起作用,对吗?

解决了:

(function($) {
    $('ul > li').each(function(){
        var html = $(this).html();
        $(this).html('<span class="slideIn">' + html + '</span>' + html);
    });
})(jQuery);
4

2 回答 2

2

使用.wrapInner()函数;)

$("ul > li").wrapInner("<span class='slidein' />")
于 2013-04-07T23:33:21.730 回答
2
$(function(){
    $('ul li').each(function(){
        var text = $(this).html();
        $(this).html('<span class="slidein">' + text + '</span>')
    });
});
于 2013-04-07T23:34:14.240 回答