javascript - 如何使用动态 ID 隐藏动态创建的 html 元素

标签 javascript jquery

我在JavaScript的for循环下有一个动态创建的html元素,这些动态元素也有一个动态id,我的问题是如何用动态id隐藏动态创建的元素。谢谢。

这是我到目前为止的代码。我想定位动态 ID 并隐藏它。

product_list += '<div class="plProductContainer hide" data-pids="' + a_data.products[i].pid + '" id="'+a_data.products[i].pid+'">'; 

它有一个动态 ID。

最佳答案

我建议您使用类而不是 id,但对于此示例,您可以使用类似的内容。使用类隐藏元素。

$(document).ready(function(){
  $(function(){
    $(".add-more").on("click", function(){
      var list  = $(".list");
      
      var random_id = Math.floor(Math.random() * (99999 - 1 + 1)) + 1;
      
      var child = document.createElement("li");
      var text  = document.createTextNode("Lorem Ipsum");
          child.setAttribute("id", random_id);
          child.appendChild(text);
      
      list.append(child);
    });
  });
  
  $(function(){
    $(".list").on("click", "li", function(){
      var id = $(this).attr("id");
      $("#" + id).addClass("hidden");
      
      console.log("This id: " + id + " is hidden");
    });
  });
});
a{
  color: blue;
  cursor: pointer;
}

ul{
  margin-top: 20px;
  padding: 0;
}

li{
  list-style: none;
  cursor: pointer;
}
li:hover{
  color: red;
}
li + li{
  margin-top: 20px;
}
li.hidden{
  display: none;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.10.0/jquery.min.js"></script>

<div>
  <a class="add-more">Click me!</a>
</div>

<ul class="list">
  <li id="0">Lorem Ipsum</li>
</ul>

关于javascript - 如何使用动态 ID 隐藏动态创建的 html 元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39339895/

相关文章:

javascript - 如何将数组中的最后 4 个字节转换为整数?

javascript - 如何在 JQuery 中自动调用加载函数?

javascript - jQuery 函数无法通过 id 获取元素

javascript - 获取数据属性并追加优化

javascript - 扩展kendo编辑器html

javascript - 如果父类有子类,则使用 CSS 或 Jquery 隐藏母亲 div secondchild 类

javascript - react native 抽屉导航在按钮单击时不起作用

javascript - Service Worker PostMessage 错误

javascript - 如何在 JavaScript 或 jQuery 中规范化 HTML?

javascript - JQuery/JS 数组 - 循环代码帮助