Я довольно новичок в jQuery и пытаюсь понять часть кода, который я только что написал.Проблема создания новых элементов в 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 Gurus может объяснить мне, что происходит, так как я не достаточно, чтобы действительно знать поймите это сами.
Вот скрипку я использую http://jsfiddle.net/k1stLsft/2/
Приветствия.
Поскольку '.mySelects' не доступен при загрузке DOM, вам необходимо делегировать' click' событие. – George