如何在jquery中禁用自动关闭标签

时间:2010-01-29 07:26:06

标签: jquery tags

我想将<ul>分成多个<ul>代码,我的<li>中有10个<ul>,我希望分成2个<ul>(每个<li> 5。为了做到这一点,我正在使用$ <li>并使用$(this)。after()附加</ul><ul>

但Jquery会自动撤消文本并自动关闭<ul>

任何想法如何禁用自动关闭?

干杯, 菲利克斯

2 个答案:

答案 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

相关问题