jquery - 将 <ul> 分成两个 div,一个用于第一个 child ,一个用于其余的

标签 jquery html

使用 jquery 我想将 ul li 标签分成两个 div

例子

<ul>
<li>first</li>
<li>second</li>
<li>third</li>
<li>4th</li>
<li>5th</li>
<li>6th</li>
</ul>

  <div class="right">
    <ul>
        <li>first</li>
    </ul>
     </div>

<div class="left">
        <ul>
         <li>second</li>
         <li>third</li>
         <li>4th</li>
         <li>5th</li>
         <li>6th</li>
        </ul>
</div>

我将使用这种方法来滚动左侧部分,只有固定的右侧部分

最佳答案

尽管您的 html 是 invalid (li 不应包含在 div 中)您可以这样尝试,

var li = $('li');

li.filter(':first').wrap('<div class="right"></div>');
li.filter(':not(:first)').wrapAll('<div class="left"></div>');

DEMO

以下可以使您的html有效,

var li = $('li');

li.filter(':first').wrap('<div class="first"></div>').parent().wrap('<li></li>');
li.filter(':not(:first)').wrapAll('<div class="second"></div>').parent().wrap('<li></li>');

DEMO

根据您的新要求,您可以这样做,

var li = $('li');
$('ul').remove();

var leftLi = li.filter(':first').detach();
var rightLi = li.filter(':not(:first)').detach();

leftLi.appendTo($('body')).wrap('<ul></ul>').wrap('<div></div>');
rightLi.appendTo($('body')).wrapAll('<ul></ul>').wrap('<div></div>');

注意:您应该注意 ul 元素的 idsclasses,因为我不'知道html结构。你有没有注意到 .appendTo('body'),我只是为了演示目的而写的,但你必须决定元素应该附加到哪里。

DEMO

关于jquery - 将 <ul> 分成两个 div,一个用于第一个 child ,一个用于其余的,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21806169/

相关文章:

javascript - 禁用一个 HTML 页面中的所有 JavaScript 和 jQuery

javascript - 通过 Jquery 的日期格式

javascript - jQuery 动画在 Firefox 的 IE 中不起作用?

javascript - 单击按钮时获取 json 格式的表单值

javascript - Angular Directive(指令)不会出现

html - overflow-x 不适用于 td 中包含的内容

jQuery 外部链接新窗口,尊重相对链接和与内部相同的域链接

php - Cloudflare 访客 IP

html - 为什么我的粘性页脚不起作用?

jquery - Html 表单没有在 GET 上向 URL 添加参数