Javascript 将div附加到body,并将脚本附加到div

Javascript 将div附加到body,并将脚本附加到div,javascript,jquery,Javascript,Jquery,我试图将div附加到正文中,然后将脚本附加到div。这是我的代码: $(document).ready(function() { $("#btn").click(function(){ var $div = $('<div/>').appendTo('body'); $div.attr('class', 'div-bla'); var $script = $('<script/>').appendTo('div-

我试图将
div
附加到正文中,然后将脚本附加到
div
。这是我的代码:

$(document).ready(function() {
    $("#btn").click(function(){

        var $div = $('<div/>').appendTo('body');
        $div.attr('class', 'div-bla');

        var $script = $('<script/>').appendTo('div-bla');
        $script.attr('text', 'alert('yay')');

    }); 
});
$(文档).ready(函数(){
$(“#btn”)。单击(函数(){
变量$div=$('').appendTo('body');
$div.attr('class','div bla');
var$script=$('').appendTo('div-bla');
$script.attr('text'、'alert('yay'));
}); 
});

但是它根本不起作用,这里出了什么问题?

有几种方法可以解决这个问题-一种方法是直接将
$div
传递给
appendTo()
方法,如下所示:

$(document).ready(function() {
    $("#btn").click(function(){

        var $div = $('<div/>').appendTo('body');
        $div.attr('class', 'div-bla');

        var $script = $('<script/>').appendTo($div); // <-- Update this line
        $div.attr('text', 'alert("yay")'); // <-- also update this line to avoid a syntax error

    }); 
});
$(文档).ready(函数(){
$(“#btn”)。单击(函数(){
变量$div=$('').appendTo('body');
$div.attr('class','div bla');
var$script=$('').appendTo($div);//您就快到了:

$(document).ready(function() {
  $("#btn").click(function(){
     var $div = $('<div/>').appendTo('body');
     $div.attr('class', 'div-bla');

     var $script = $('<script/>').appendTo('.div-bla');
     $script.text('alert("yay")');
   }); 
});
$(文档).ready(函数(){
$(“#btn”)。单击(函数(){
变量$div=$('').appendTo('body');
$div.attr('class','div bla');
var$script=$('').appendTo('.div bla');
$script.text('alert(“yay”));
}); 
});

您可以在添加
div
之后在那里运行JS。为什么要注入
脚本
?如果它起作用,您会希望$script包含JS,而不是$div。非常感谢@adamwest的帮助