如何在IE 11的一个页面上创建几个.load()?

时间:2015-04-11 01:16:58

标签: jquery

我有几个内容div。在第一个div中我从video.html加载内容,在两个div中加载来自games.html的内容,在三个div中加载来自news.html等的内容。 在FF,Chrome,Opera,Webkit都可以,但在IE 11中无法正常工作。 如何在IE 11的一个页面上制作几个.load()或如何仅为IE 11制作警告弹出窗口?

$(".islice").load("home.html?" + new Date().getTime() );

不行。

我的代码:

$('a#ht_nws div:eq(0)').load('../news.html #cntntblck:eq(1) a:eq(0)');
$('a#ht_nws font:eq(0)').load('../news.html #cntntblck:eq(1) h3');
$('a#ht_nws div:eq(1)').load('../news.html #cntntblck:eq(2) a:eq(0)');
$('a#ht_nws font:eq(1)').load('../news.html #cntntblck:eq(2) h3');
$('a#ht_nws div:eq(2)').load('../news.html #cntntblck:eq(3) img:eq(0)');
$('a#ht_nws font:eq(2)').load('../news.html #cntntblck:eq(3) h3');

1 个答案:

答案 0 :(得分:1)

在查看评论后,我为您找到了解决方案。

$.ajax({
    url: "news.html",
    dataType: 'html',
    cache: false
}).done(function(html) {
    var readyHTML = $("<div>" + html + "</div>");
    $('a#ht_nws div:eq(0)').html($(readyHTML).find("#cntntblck:eq(1) a:eq(0)")[0].outerHTML);
    $('a#ht_nws font:eq(0)').html($(readyHTML).find("#cntntblck:eq(1) h3")[0].outerHTML);
    //rest of the queries
});

代码只是通过news.html函数加载$.ajax()并将整个HTML包装在<div> readyHTML中,因为$.find()无法搜索第一个HTML文件中的图层。然后通过多行,将HTML内容更改为readyHTML

中的内容

.outerHTML是一个本机函数,它要求我们删除jQuery对象才能工作,从而从jQuery元素中获取[0]位置。