首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何将分离的li元素添加到ul列表中

如何将分离的li元素添加到ul列表中
EN

Stack Overflow用户
提问于 2017-04-04 18:22:14
回答 4查看 139关注 0票数 4

在从ul列表中删除li元素后,我在添加li元素时卡住了。我在各种方法中尝试了append()appendTo(),但仍然一无所获。

https://jsfiddle.net/kq1yyoLk/的基本思想是,单击2、3、4、5、6项将显示item-1

代码语言:javascript
复制
$(function() {
  $('li').on('click', function(e) {
    e.preventDefault();
    var number = $("a", this).data('number');

    var temp = $('list-1').detach();
    $('ul #list-item').append(temp);
  });
});
代码语言:javascript
复制
#list-1 {
  display: none;
}
代码语言:javascript
复制
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class="features-content">
  <ul id="list-item" class="fa-ul features-list">
    <li id="list-1"><a href="#" data-number="1">1</a>
    <li id="list-2"><a href="#" data-number="2">2</a></li>
    <li id="list-3"><a href="#" data-number="3">3</a></li>
    <li id="list-4"><a href="#" data-number="4">4</a></li>
    <li id="list-5"><a href="#" data-number="5">5</a></li>
    <li id="list-6"><a href="#" data-number="6">6</a></li>
    <li id="list-7"><a href="#" data-number="7">7</a></li>
  </ul>
</div>

EN

回答 4

Stack Overflow用户

发布于 2017-04-04 18:38:51

即使你改变了列表的id,这也会起作用。

代码语言:javascript
复制
$(function() {
  $('li').on('click', function(e) {
    e.preventDefault();
     $('#list-item li:first-child').show();
  });
});
代码语言:javascript
复制
#list-1 {
  display: none;
}
代码语言:javascript
复制
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class="features-content">
  <ul id="list-item" class="fa-ul features-list">
    <li id="list-1"><a href="#" data-number="1">1</a>
    <li id="list-2"><a href="#" data-number="2">2</a></li>
    <li id="list-3"><a href="#" data-number="3">3</a></li>
    <li id="list-4"><a href="#" data-number="4">4</a></li>
    <li id="list-5"><a href="#" data-number="5">5</a></li>
    <li id="list-6"><a href="#" data-number="6">6</a></li>
    <li id="list-7"><a href="#" data-number="7">7</a></li>
  </ul>
</div>

票数 2
EN

Stack Overflow用户

发布于 2017-04-04 18:31:09

首先请注意,您的HTML缺少了第一个</li>,而$('list-1')缺少了Id选择器的#

要执行所需的操作,不需要从DOM中附加/分离任何内容。当单击任何li时,您可以简单地在#list-1上调用show(),如下所示:

代码语言:javascript
复制
$('li').on('click', function(e) {
  e.preventDefault();
  $('#list-1').show();
  var number = $(this).find('a').data('number');

  console.log(number); // I assume you're using this in your logic somewhere
});
代码语言:javascript
复制
#list-1 {
  display: none;
}
代码语言:javascript
复制
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class="features-content">
  <ul id="list-item" class="fa-ul features-list">
    <li id="list-1"><a href="#" data-number="1">1</a></li>
    <li id="list-2"><a href="#" data-number="2">2</a></li>
    <li id="list-3"><a href="#" data-number="3">3</a></li>
    <li id="list-4"><a href="#" data-number="4">4</a></li>
    <li id="list-5"><a href="#" data-number="5">5</a></li>
    <li id="list-6"><a href="#" data-number="6">6</a></li>
    <li id="list-7"><a href="#" data-number="7">7</a></li>
  </ul>
</div>

票数 1
EN

Stack Overflow用户

发布于 2017-04-04 18:31:49

太多问题了。

下面是一些有效的JavaScript;

代码语言:javascript
复制
 $(function() {
      $('li').on('click', function(e)
       {
          e.preventDefault();                      
          var number=$("a",this).data('number');
          
          var temp = $('#list-1').detach();
          $('ul#list-item').append(temp);
          
       });
});
代码语言:javascript
复制
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
 <div class="features-content">
   <ul id="list-item" class="fa-ul features-list">
     <li id="list-1"><a href="#"  data-number="1">1</a></li>            
     <li id="list-2"><a href="#"  data-number="2">2</a></li>
     <li id="list-3"><a href="#" data-number="3">3</a></li>
     <li id="list-4"><a href="#"  data-number="4">4</a></li>
     <li id="list-5"><a href="#"  data-number="5">5</a></li>
     <li id="list-6"><a href="#"  data-number="6">6</a></li>
     <li id="list-7"><a href="#"  data-number="7">7</a></li>
  </ul>
</div>

您的HTML中有一个错误,您没有关闭第一个<li>元素。

var temp = $('list-1').detach();中,您试图通过元素的ID来引用元素,但实际上并没有使用散列来这样做。

此外,您正在使用的样式意味着您只能通过Inspect元素看到元素移动,因为它在移动后仍然显示为none。

您还可以尝试将temp元素添加到id为list-itemul内的元素中-而实际上是您的ul具有此ID。

如果您花一点时间真正查看您的代码,就不难发现这些问题。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/43204490

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档