Javascript 无法在IE中追加,可在Firefox和Chrome中使用
我想我讨厌我。我在其他浏览器中所做的一切都能正常工作,但IE 11没有!它正在失败。我猜是我而不是浏览器 我的网页上有一个列表,我正在尝试动态绑定该列表 到目前为止,它在Firefox和Chrome中工作得很好,但在IE中没有。IE开发工具F12中没有错误,所以我不明白为什么它拒绝工作 HTML JavascriptJavascript 无法在IE中追加,可在Firefox和Chrome中使用,javascript,jquery,html,internet-explorer,Javascript,Jquery,Html,Internet Explorer,我想我讨厌我。我在其他浏览器中所做的一切都能正常工作,但IE 11没有!它正在失败。我猜是我而不是浏览器 我的网页上有一个列表,我正在尝试动态绑定该列表 到目前为止,它在Firefox和Chrome中工作得很好,但在IE中没有。IE开发工具F12中没有错误,所以我不明白为什么它拒绝工作 HTML Javascript $(function() { var myItems=[]; myItems.push({"All":"Hello"}); myItems.push({"O
$(function() {
var myItems=[];
myItems.push({"All":"Hello"});
myItems.push({"One":"And More"});
myItems.push({"Two":"Lots More"});
for (i = 0; i< myItems.length;i++) {
for (item in myItems[i]) {
var x = myItems[i][item]; //for my testing
var y = myItems[item]; //for my testing
$("#MyList").append("<option>" + item + "</option>");
}
}
});
如果你用FF或Chrome试试小提琴,一切都好。“选择”列表将填充“全部”、“一个”和“两个”
如果没有给IE精灵的礼物,甚至是某种形式的牺牲,我需要做什么才能让IE和我一起快乐 试试这个
$(function() {
var myItems=[];
myItems.push({"All":"Hello"});
myItems.push({"One":"And More"});
myItems.push({"Two":"Lots More"});
for (i = 0; i< myItems.length;i++) {
for (item in myItems[i]) {
var x = myItems[i][item];
$('#MyList')
.append($("<option></option>")
.attr("value",x)
.text(item));
}
}
});
这很奇怪。当我在IE中运行这个fiddle时,我有一个方便的IE9,我得到一个拒绝访问的错误,jQuery没有被加载。如果我将fiddle更改为使用1.11.0而不是1.10.1,则不会出现该错误,脚本将运行 代码有几个问题,主要是您的代码遇到的未声明变量;这是一个关于: 变量声明 使用jquery1.11.0 使用no wrap-body选项而不是onload,因为您使用的是ready事件 代码如下:
$(function() {
var myItems=[];
myItems.push({"All":"Hello"});
myItems.push({"One":"And More"});
myItems.push({"Two":"Lots More"});
var i, item;
for (i = 0; i< myItems.length;i++) {
for (item in myItems[i]) {
var x = myItems[i][item];
var y = myItems[item];
$("#MyList").append("<option>" + item + "</option>");
}
}
});
正如IE 10中@T.J.Crowder所提到的,jquery1.10.1不起作用,并将jquery版本更新到以后开始起作用 我想IE恨我-不,IE恨互联网及其发展+1:总是喜欢你清晰细致的解释奇怪的是,它实际上只在jQuery1.10.1上失败。。。我刚刚用JQuery 1.6.4、1.7.2、1.8.3、1.9.1和1.11.0进行了尝试-现在看看从1.10.1迁移到1.11.1后,我的站点还会有什么突破-谢谢you@MyDaftQuestions:我猜CDN JSFIDLE uses code.jquery.com存在一些问题,但我想不出一个问题只会影响IE!:-我将迁移到1.11.1。我不认为从1.9.1到1.11.1的变化是特别破坏性的。
$(function() {
var myItems=[];
myItems.push({"All":"Hello"});
myItems.push({"One":"And More"});
myItems.push({"Two":"Lots More"});
var i, item;
for (i = 0; i< myItems.length;i++) {
for (item in myItems[i]) {
var x = myItems[i][item];
var y = myItems[item];
$("#MyList").append("<option>" + item + "</option>");
}
}
});
// Before the loop...
var options = $("#MyList")[0].options;
// ...in the loop
options.add(new Option(item));
var sel = $("#MyList");
sel.empty();
for (var i = 0; i< myItems.length;i++) {
for (var item in myItems[i]) {
var x = myItems[i][item];
var y = item;
console.log(x);
console.log(y);
sel.append('<option value="' + x + '">' + y + '</option>');
}
}