0

于是就有了这棵树。它是使用 PHP 从 MySQL 数据库编译的。问题是我想找到所有里面没有 UL 的 LI 以及更多的 LI....

示例:http: //i.stack.imgur.com/Pet8Z.jpg

在示例中,我标记了应该使用 jquery 选择的 LI,因为它们没有任何孩子,而这正是我想要的。

基本上它只是一个由类别组成的树,但如果最深的类别没有任何孩子,它应该被视为一个项目,我希望 jquery 找到那些没有任何孩子的项目。

这是整棵树:http: //jsfiddle.net/trueskillz/qnRpj/1/

我可以做这样的事情(下面的代码)并检查它是否有孩子,然后将其设为红色背景(例如),这就是我找到“项目”而不是“类别”的方式,但必须有一个比这更简单的方法......

    $("#parttree ul").each(function(){
      $(this).find("li").each(function(){
          $(this).find("ul").each(function(){
              $(this).find("ul").each(function(){
                 $(this).css("background-color","red");
              });
          });
      });
    });

这不是一个想要在这个列表中找到项目的方式......所以我希望有一个更简单的方法......

4

2 回答 2

3

几个选项:

var $leaves = $('#parttree li').filter(function() {
    return !$(this).has('ul');
});

var $leaves = $('#parttree li:not(:has(ul))');

var $leaves = $('#parttree li').filter(":not(:has(ul))");

var $leaves = $('#parttree li').not(":has(ul)");
于 2013-08-07T17:34:19.547 回答
0

您的列表结构有点偏离。我建议尝试在这里组织:http ://tools.arantius.com/tabifier

您也不需要 jQuery 来执行此操作。您可以使用 CSS。

#parttree li:last-child{
   background:red;}

但是,只需删除您拥有的 ul 之一,我就可以进行近距离匹配。 http://jsfiddle.net/gha8V/

我只需在 wordpress(或任何所见即所得)可视化编辑器中写出 ul,单击文本,复制它,然后最后使用上面的制表符工具将它们组织成 html。

希望这可以帮助。

于 2013-08-07T17:47:38.043 回答