Html:麻烦附加到嵌套列表

时间:2017-03-07 02:52:04

标签: javascript jquery html

我需要附加到ARTCC下的嵌套列表中。以下是该文件正文的摘录:

<div id="GUI" class="sidenav">
<section id='list' class="ladder tree">
<ul>
<li><a id="ARTCC" href="."><i class="fa fa-cube"></i> <i class="fa fa-check-square"></i> ARTCC</a>
      <ul>
         <li><a id ="ZAB" href="#"><i class="fa fa-check-square"></i> ZAB</a></li>
         <li><a href="#"><i class="fa fa-check-square"></i> ZAU</a></li>
         <li><a href="#"><i class="fa fa-check-square"></i> ZBW</a></li>
     </ul>
</li>
</ul>
</section>
</div>

以下是将项目附加到列表的功能:

for(var i = 0; i < added.length; i++) {
    var entityId = added[i].name.toLowerCase();
    if(entityId.includes("z")){
        $("#ARTCC ul").append("<li><a id=" + added[i].id + " class=ARTCC href='#'><i class='fa fa-check-square'</i>" + added[i].name + "</a></li>");
    }
}

当我使用$(&#34; #ARTCC ul&#34;)时,附加没有添加到列表中。

然而,$(&#34; #list ul ul&#34;。)append确实将项目放在正确的位置,但也将项目附加到其他列表项目,它会导致依赖于$(& #34; a.ARTCC&#34;)。dblclick()不能双击执行。

从我所读到的&#34; #ARTCC ul&#34;似乎是获得我正在寻找的结果的正确方法,但它目前无法正常工作。我在这里错过了什么吗?

最终结果会将最后一个元素添加到列表中:

<li><a id="ARTCC" href="."><i class="fa fa-cube"></i> <i class="fa fa-check-square"></i> ARTCC</a>
      <ul>
         <li><a id ="ZAB" href="#"><i class="fa fa-check-square"></i> ZAB</a></li>
         <li><a href="#"><i class="fa fa-check-square"></i> ZAU</a></li>
         <li><a href="#"><i class="fa fa-check-square"></i> ZBW</a></li>
         //new item
         <li><a href="#"><i class="fa fa-check-square"></i> NEW ITEM</a></li>
     </ul>
</li>

2 个答案:

答案 0 :(得分:0)

ARTCC在文档树中没有任何ul。您列出的查询选择器首先尝试查找id为&#34; ARTCC&#34;的元素,然后选择其中的所有ul元素。听起来你正在寻找添加到这个ul:

<ul>
    <li><a id ="ZAB" class="ARTCC" href="#"><i class="fa fa-check-square"></i> ZAB</a></li>
    <li><a href="#"><i class="fa fa-check-square"></i> ZAU</a></li>
    <li><a href="#"><i class="fa fa-check-square"></i> ZBW</a></li>
</ul>

为此,请将<ul>更改为<ul id="someId">,然后在jQuery中执行$('#someId').append(someElement);

除非您尝试附加到 ARTCC,否则它不会$('.ARTCC'),但它看起来并不像{&1>} #39; s你正在尝试做什么。

答案 1 :(得分:0)

$("#ARTCC ul")更改为$("#ARTCC+ul")。这是prev + next选择器。