[英]jQuery .after() tries to “correct” the html I'm inserting. How do I stop this?
我试图将长长的无序列表分解成较小的部分,例如:
$('.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()
和关闭标签,我将使用.wrapAll()
将<ul>
标签包装在包含5个<li>
的jQuery对象周围。 您可以使用.slice()
从thisList
抓取<li>
的块。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.