我有这个jquery代码:
$("#tf_zoom").live("click", function () {
var n = $(".tf_thumbs").find("img").attr("src");
var modelid = n.substr(43);
$.post("models/get_gallery", {
"modelid": modelid
}, function (data) {
var imagespathes = $(data).map(function (key, url) {
return ({
href: '<?php echo base_url();?>assets/uploads/files/' + url
});
});
console.log(imagespathes);
$.fancybox.open(imagespathes);
}, "json");
});
这是我的HTML:
<div id="tf_thumbs" class="tf_thumbs">
<span id="tf_zoom" class="tf_zoom"></span>
<img id="dynam" src="<?php echo base_url();?>assets/uploads/files/<?php echo $firstthumb;?>" alt="Thumb1"/>
</div>
好的,现在我的问题是这个代码在 IE 10 上无法正常运行,而且令人惊讶的是它在 IE 9,IE 8,IE 7 上的魅力就像< strong> FF和谷歌浏览器
我读了很多关于这个问题的事情,但对我没什么用。 那么,有没有解决方案呢。 非常感谢你的帮助。
更新1 :我使用的是jquery版 1.7
答案 0 :(得分:2)
也许这个提示会对你有所帮助:
我注意到.map( $("select").get(0).options )
在IE10中不起作用,但.map( $("select:first >option") )
会起作用。这是因为在ie10 .options中返回带有迭代选项的select节点。
那么看看IE10中返回的数据是什么,也许它也不是数组。如果是这样,也许你可以做一些像$(new Array(data)).map(...
那样满足所有浏览器的东西
答案 1 :(得分:-1)
你应该使用静态地图功能:
$.map(data, function(obj, index){...})
请参阅文档here。
// If data looks like this: [{ url: 'TestUrl' }]
// This should work:
var imagespathes = $.map(data, function(element){
return { href: '<?php echo base_url();?>assets/uploads/files/' + element.url };
});