javascript - 动态追加 DOM 元素,如果已经添加则无需追加

标签 javascript jquery

我试图在单击按钮时动态地将 div 添加到父 div。但是一旦创建了它,单击按钮时就不应该再次创建另一个相同的子 div。这就是我试图做的

$("#b1").click(function(){
        $("#d1").has("#d2").remove($(this));
        $("#d1").append($("<div>",{id:"d2",text:"Dynamically added Second DIV"}));
    });

它正在工作,但我在控制台中收到“TypeError: expr.replace is not a function”...请提出建议。 谢谢...

最佳答案

您可以检查children.length来查找子项是否存在

$("#b1").click(function() {
  if ($("#d1").children("#d2").length <= 0) {
    console.log(1)
    $("#d1").append($("<div>", {
      id: "d2",
      text: "Dynamically added Second DIV"
    }));
  };
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div id="d1">Paremt Dom</div>
<button id="b1">Click</button>

关于javascript - 动态追加 DOM 元素,如果已经添加则无需追加,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44955317/

相关文章:

javascript - 如何在 submitHandler 回调中访问 Backbone View ?

javascript - 对具有回调函数的函数进行单元测试(请求模块)

jquery - 使用此查找上一个 DOM 元素 jQuery

javascript - HTML5 视频自定义附加搜索栏

javascript - selenium-python 单击按钮总是返回错误

javascript - 在 jQuery 循环内获取以某个字符串开头的 id

JavaScript 在对象数组中查找匹配对象

javascript - AngularJS/jQuery - 更新范围

javascript - 我如何检查子字符串是否与正则表达式匹配?

javascript - 如何捕获 JavaScript 中的动态导入错误?