嗨,由于某种原因,此代码不会在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" />
,其余部分被忽略。
答案 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?