jquery load()问题与ie7 ie8有关



Hi由于某些原因,此代码未在ie7/ie8下运行。

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

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

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

我不喜欢这样。

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

目前,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" />被加载,其余被忽略。

更新1

您说过调用不带#的代码是可以的,所以使用load方法和ID选择器实际上可以获取所有文档,但jQuery只会将代码保留在指定的元素ID内,您可以简单地调用不带ID选择器的load方法,然后只保留所需的元素,然后自己删除其余元素。


也许URL中的空格是问题所在,你能试着逃离一下吗?

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

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

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

最新更新