使用ie7 ie8的jquery load()问题

时间:2011-06-16 21:51:55

标签: jquery html5 internet-explorer-8 internet-explorer-7 modernizr

嗨,由于某种原因,此代码不会在ie7 / ie8下运行。

$('#cnt').load('./tiles/pages/'+ $name +'.php #'+$lang, showNewContent());

使用id $ lang检索php文件中的部分似乎有问题。该代码适用于所有其他浏览器,如果我这样调用它,它在ie7 / ie8中工作:

$('#cnt').load('./tiles/pages/'+ $name +'.php', showNewContent());

我不喜欢那样。

知道为什么ie7 / ie8会这样做吗?好的ie7我知道=>这是垃圾: - )

现在php文件只包含普通的html5,看起来像这样:

<article id="de">
        <header>
            <h2>Your article heading</h2>
        <p>Lorem ipsum dolor sit amet.</p>
        </header>
        <h3>A smaller heading</h3>
            <p>Lorem ipsum dolor sit amet</p>   
        <h3>A smaller heading</h3>
            <p>Lorem ipsum dolor sit amet</p>
        <footer>
        <h3>About the author</h3>
            <p>Lorem ipsum dolor sit amet</p>
        </footer>
</article>
<article id="en">
        <header>
            <h2>Your article heading</h2>
        <p>Lorem ipsum dolor sit amet.</p>
        </header>
        <h3>A smaller heading</h3>
            <p>Lorem ipsum dolor sit amet</p>   
        <h3>A smaller heading</h3>
            <p>Lorem ipsum dolor sit amet</p>
        <footer>
        <h3>About the author</h3>
            <p>Lorem ipsum dolor sit amet</p>
        </footer>
</article>

更新

看起来,它是HTML5标签,把它扔掉???我正在使用modernizr,有人想要点击它吗?在dom中只加载<article id="de" />,其余部分被忽略。

2 个答案:

答案 0 :(得分:0)

更新1

你说调用没有#的代码工作正常,所以因为使用load方法和ID选择器你实际上是获取所有文件,但是jQuery只会将代码保存在指定的元素ID中,你可以简单地调用load没有ID选择器的方法,然后只保留你需要的元素,并自己删除其余的元素。


也许URL中的空格是问题所在,你能不能试图逃避它?

$('#cnt').load('./tiles/pages/'+ $name +'.php%20#'+$lang, showNewContent());

$('#cnt').load('./tiles/pages/'+ $name +'.php%2520#'+$lang, showNewContent());

答案 1 :(得分:0)

可能为时已晚,但您是否尝试在新加载的HTML上重新应用modernizr?