我想将<ul>
分成多个<ul>
代码,我的<li>
中有10个<ul>
,我希望分成2个<ul>
(每个<li>
5。为了做到这一点,我正在使用$ <li>
并使用$(this)。after()附加</ul><ul>
。
但Jquery会自动撤消文本并自动关闭<ul>
。
任何想法如何禁用自动关闭?
干杯, 菲利克斯
答案 0 :(得分:3)
虽然David的解决方案对于特定问题是一个优雅的解决方案,但一般自动关闭标签问题的另一种可能性是根本不使用.append
。改为使用变量,最后使用.html(my_variable)
。我试图为这个非常简单的Table of Content做嵌套的UL列表时遇到了这个问题:
$(document).ready(function() {
var prev='';
var toc = '';
$("h2, h3, h4, h5").each(function(i) {
var h = $(this);
var level = h.attr("tagName");
if (level != prev) {
if (prev == '') {
toc += "<ul>\n";
}
else {
if (level < prev) {
toc += "</ul>\n";
}
else {
toc += "<ul>\n";
}
}
prev = level;
}
toc += '<li><a href="#' + h.attr('id') + '">' + h.html() + "</a></li>\n";
});
toc += '</ul>';
$("#toc").html(toc);
});
答案 1 :(得分:2)
您不想禁用自动关闭。你想要的是在第一个之后添加 new UL
,然后添加到第一个列表中的最后五个LI
。要获得前五个之后LI
的引用,您可以执行以下操作:
$('myFirstUL li:gt(4)');
gt 大于从零开始的索引。
完整代码示例:http://jsbin.com/ofowe/edit