javascript - jQuery .after() 尝试 "correct"我插入的 html。我该如何阻止呢?

标签 javascript jquery html

我正试图将一个长的无序列表分解成更小的部分,如下所示:

$('.cList').each(function() {
    var thisList = $(this).find('li')
    var thisLen = thisList.length
    for(var x=0;x<thisLen;x++) {
        if((x % 5)==0&&x>0) {
            $(thisList).eq(x).after("</ul><ul>")    
        }    
    }
})

我最终得到的是这样的:

<li>...</li>
<li>...</li>
<li>...</li>
<li>...</li>
<li>...</li>
<ul></ul> <---- I want the list to end and start, not make a nested list

而不是这个:

<li>...</li>
<li>...</li>
<li>...</li>
<li>...</li>
<li>...</li>
</ul><ul>  <--- like this

就好像插入了</ul><ul>是无效的 HTML,jQuery 以某种方式决定 <ul></ul>有效。

参见:http://jsfiddle.net/MGHt5/

最佳答案

我不会特别担心打开和关闭标签,而是使用 .wrapAll() 包裹 <ul>包含 5 <li> 的 jQuery 对象周围的标签秒。您可以使用 .slice() 捕获大块的<li>来自 thisList .

关于javascript - jQuery .after() 尝试 "correct"我插入的 html。我该如何阻止呢?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7178718/

相关文章:

javascript - 如何在选项 useNativeDriver 设置为 true 的情况下获取动画值的当前值?

javascript - Firebug 调试问题

javascript - 使用 jQuery 动态创建克隆编号表单

javascript - PreventDefault 不适用于焦点事件

javascript - 同时使用两个 Controller 的正确方法?

javascript - ReactJS - .JS 与 .JSX

java - 输出 HTML 或纯文本的 HTML + Javascript 渲染器?

Javascript/PHP - 将数据传递到模态(弹出窗口)

javascript - jQuery 元素值等于 x

Javascript 异步函数组合