gpt4 book ai didi

javascript - 在 jQuery 中创建新元素的问题

转载 作者:行者123 更新时间:2023-11-30 12:33:26 25 4
gpt4 key购买 nike

我是 jQuery 的新手,正在尝试理解我刚刚编写的一些代码。

我有一个简单的 HTML

<body>
<div id="theDiv">
<button>This is the div</button>
</div>
</body>

我的脚本是这样的

$(document).ready(function(){
$("button").on("click",function(){
$("<div></div>").attr("id","myDiv").appendTo("#theDiv");
$("<select></select>").addClass("mySelects").appendTo("#myDiv");
});
$(".mySelects").on("click",function(){
console.log("Do some stuff here");
$('<option value="Text">Text</option>').appendTo(".mySelects")
});
});

所以我想做的是添加一个新的 div 和一个 select 并将 select 添加到一个类中。上面的 scpipt 不起作用,我不确定为什么,而下面的代码可以解决问题

$(document).ready(function(){
$("button").on("click",function(){
$("<div></div>").attr("id","myDiv").appendTo("#theDiv");
$("<select></select>").addClass("mySelects").appendTo("#myDiv");
$(".mySelects").on("click",function(){
console.log("Just added the class");
$('<option value="Text">Text</option>').appendTo(".mySelects")
});
});
});

我希望你们中的一些 jQuery 大师可以向我解释发生了什么,因为我真的不够了解,无法自己理解。

这是我一直在使用的 fiddle http://jsfiddle.net/k1stLsft/2/

干杯。

最佳答案

这里有几个添加选择选项的选项。第一个是委托(delegate),就像乔治建议的那样:

   $("body").delegate(".mySelects", "click",function(){
console.log("Just added the class");
$('<option value="Text">Text</option>').appendTo(".mySelects")
});


$(document).on("click", ".mySelects",function(){
console.log("Just added the class");
$('<option value="Text">Text</option>').appendTo(".mySelects")
});

Fiddle

关于javascript - 在 jQuery 中创建新元素的问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26896291/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com