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?