Javascript 在JQuery 2.0.2或2.0.3不工作的情况下动态创建div

Javascript 在JQuery 2.0.2或2.0.3不工作的情况下动态创建div,javascript,jquery,Javascript,Jquery,我想知道1.9.1和2.0.2在所附JSFIDLE方面的区别 HTML: <div id='M1' style='width:100%; border:1px solid red;'>Main Container</div> 主容器 JS: //第一种方法 美元(“#M1”)。追加(“方法1”); //第二种方法 jQuery(“”{ 标题:“方法2”, rel:'外部', 样式:“宽度:90%;边框:1px纯绿色;”, 正文:“方法2” }).附于(“#M1”);

我想知道1.9.1和2.0.2在所附JSFIDLE方面的区别

HTML:

<div id='M1' style='width:100%; border:1px solid red;'>Main Container</div>
主容器
JS:

//第一种方法
美元(“#M1”)。追加(“方法1”);
//第二种方法
jQuery(“”{
标题:“方法2”,
rel:'外部',
样式:“宽度:90%;边框:1px纯绿色;”,
正文:“方法2”
}).附于(“#M1”);
//第三种方法
$('', {
'id':'myDiv',
“文本”:“方法3”,
}).on('单击',函数()){
警报(this.id);//myDiv
}).附于(“#M1”);

为什么它可以与jQuery 1.9.1一起工作,而不能在2.0.2中工作

在2.0.2或2.0.3中工作的等效代码是什么

如果您使用1.9.1运行该示例,它可以正常工作,如果您将id更改为2.0.2,则不会正常工作


谢谢

这似乎是特定于JSFIDLE的,可能是它工作的框架环境。我可以用IE10复制您的结果,但如果我使用jQueryV2.0.2和该代码创建自己的页面,它就会工作。类似地,JSBin上的同一页面也可以工作:|


草稿行
主容器
//第一种方法
美元(“#M1”)。追加(“方法1”);
//第二种方法
jQuery(“”{
标题:“方法2”,
rel:'外部',
样式:“宽度:90%;边框:1px纯绿色;”,
正文:“方法2”
}).附于(“#M1”);
//第三种方法
$('', {
'id':'myDiv',
“文本”:“方法3”,
}).on('单击',函数()){
警报(this.id);//myDiv
}).附于(“#M1”);
所以从根本上说,没有问题,因为它确实有效……除了在那种环境中

当fiddle失败时,我在IE10中的开发工具中发现两个错误:

SCRIPT5: Access is denied. jquery-2.0.2.js, line 1378 character 2 SCRIPT5009: '$' is undefined show, line 20 character 1 脚本5:访问被拒绝。 jquery-2.0.2.js,第1378行字符2 SCRIPT5009:“$”未定义 显示,第20行字符1 以下是上下文中的jQuery-2.0.2.js第1378行:

1375| // Support: IE>8 1376| // If iframe document is assigned to "document" variable and if iframe has been reloaded, 1377| // IE will throw "permission denied" error when accessing "document" variable, see jQuery #13936 1378| if ( parent && parent.frameElement ) { 1379| parent.attachEvent( "onbeforeunload", function() { 1380| setDocument(); 1381| }); 1382| } 1375 |//支持:IE>8 1376 |//如果将iframe文档分配给“document”变量,并且如果iframe已重新加载, 1377 |//IE在访问“document”变量时将抛出“permission denied”错误,请参见jQuery#13936 1378 | if(parent&&parent.frameElement){ 1379 | parent.attachEvent(“onbeforeunload”,function()){ 1380 | setDocument(); 1381| }); 1382| }
因此,这再一次表明了一些特定于JSFIDLE环境的东西。可能值得检查jQuery问题跟踪器,看看它是否是已知问题,如果不是,则报告它。

这似乎是特定于JSFIDLE的,可能是它工作的框架环境。我可以用IE10复制您的结果,但如果我使用jQueryV2.0.2和该代码创建自己的页面,它就会工作。类似地,JSBin上的同一页面也可以工作:|


草稿行
主容器
//第一种方法
美元(“#M1”)。追加(“方法1”);
//第二种方法
jQuery(“”{
标题:“方法2”,
rel:'外部',
样式:“宽度:90%;边框:1px纯绿色;”,
正文:“方法2”
}).附于(“#M1”);
//第三种方法
$('', {
'id':'myDiv',
“文本”:“方法3”,
}).on('单击',函数()){
警报(this.id);//myDiv
}).附于(“#M1”);
所以从根本上说,没有问题,因为它确实有效……除了在那种环境中

当fiddle失败时,我在IE10中的开发工具中发现两个错误:

SCRIPT5: Access is denied. jquery-2.0.2.js, line 1378 character 2 SCRIPT5009: '$' is undefined show, line 20 character 1 脚本5:访问被拒绝。 jquery-2.0.2.js,第1378行字符2 SCRIPT5009:“$”未定义 显示,第20行字符1 以下是上下文中的jQuery-2.0.2.js第1378行:

1375| // Support: IE>8 1376| // If iframe document is assigned to "document" variable and if iframe has been reloaded, 1377| // IE will throw "permission denied" error when accessing "document" variable, see jQuery #13936 1378| if ( parent && parent.frameElement ) { 1379| parent.attachEvent( "onbeforeunload", function() { 1380| setDocument(); 1381| }); 1382| } 1375 |//支持:IE>8 1376 |//如果将iframe文档分配给“document”变量,并且如果iframe已重新加载, 1377 |//IE在访问“document”变量时将抛出“permission denied”错误,请参见jQuery#13936 1378 | if(parent&&parent.frameElement){ 1379 | parent.attachEvent(“onbeforeunload”,function()){ 1380 | setDocument(); 1381| }); 1382| }
因此,这再一次表明了一些特定于JSFIDLE环境的东西。可能值得检查jQuery问题跟踪程序,看看它是否是已知问题,如果不是,则报告它。

哪个“它”?全部三个?就几个?“it”的哪个方面不起作用?你期望会发生什么,会发生什么?如果我在Chrome上运行,我会看到三个div。您确定正在使用jQuery 2支持的浏览器吗?比如说,不是IE8吗?它的工作原理和它想象的一样。RCV:你是什么意思?它在IE中不起作用。正如t.J.所说,它在Chrome和Firefox中起作用。这对歌剧不起作用。我可以让这段代码在所有浏览器上运行吗?哪个“it”?全部三个?就几个?“it”的哪个方面不起作用?你期望会发生什么,会发生什么?如果我在Chrome上运行,我会看到三个div。您确定正在使用jQuery 2支持的浏览器吗?比如说,不是IE8吗?它的工作原理和它想象的一样。RCV:你是什么意思?它在IE中不起作用。正如t.J.所说,它在Chrome和Firefox中起作用。这对歌剧不起作用。我能让这段代码在所有浏览器上都工作吗?谢谢,我在我创建的一个页面上尝试了它,你说得对,它确实工作。谢谢你的关注。谢谢你,我在我创建的一个页面上尝试了它,你是对的,它确实有效。谢谢你调查这件事。