代码之家  ›  专栏  ›  技术社区  ›  Miranda Manriquez

针对单个生成的列表标记的jquery

  •  0
  • Miranda Manriquez  · 技术社区  · 7 年前

    我正在创建一个杂货清单,可以在其中添加、删除和划掉物品。我现在的问题是划掉项目并能够撤消它。单击项目(文本)将划掉它,双击项目将取消划掉它。不幸的是,当项目添加到列表中时生成的每个“li”标记(带有class=“food”)在单击时都会被划掉。

          $(".food").on({
                click: function(){
                  $(this).parent().css("text-decoration","line-through"); 
                },
                dblclick: function(){
                  $(this).parent().css("text-decoration", "none"); 
                }
            });
    

    我理解为什么每个项目都是目标。我的问题是,要么在生成每个“li”标记时找到一种生成唯一id的方法,然后编写一种针对它们的方法,要么编写其他解决方案。我想要一些人帮我弄清楚这件事!感谢链接。

    1 回复  |  直到 6 年前
        1
  •  2
  •   Muhammad Omer Aslam    7 年前

    去除 .parent() 你完成了

    $(".food").on({
      click: function() {
        $(this).css("text-decoration", "line-through");
      },
      dblclick: function() {
        $(this).css("text-decoration", "none");
      }
    });
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
    <ul>
      <li class="food">apple</li>
      <li class="food">mango</li>
      <li class="food">orange</li>
      <li class="food">banana</li>
      <li class="food">black current</li>
    </ul>