4

嗨,由于某种原因,这段代码不能在 ie7/ie8 下运行。

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

检索 php 文件中 ID 为 $lang 的部分似乎有问题。该代码适用于所有其他浏览器,如果我这样称呼它,它适用于 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" />加载其余的被忽略。

4

2 回答 2

0

更新 1

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


也许 URL 中的空格是问题所在,你能试着避开它吗?

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

或者

$('#cnt').load('./tiles/pages/'+ $name +'.php%2520#'+$lang, showNewContent());
于 2011-06-24T23:40:43.640 回答
0

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

于 2011-11-28T15:31:01.930 回答