微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

javascript – 无法使用jQuery选择器在IE8中选择HTML5元素的子项

我发现一些类似问题的帖子,但这是不同的.在我阅读另一篇文章后,我从jQuery 1.4升级到1.4.2,但问题依然存在.我也尝试运行IE 8兼容模式,没有什么似乎工作.当然,它在Chrome中效果非常好.

这是标记

<section class="pleaseWaitButton">
    <p><img src="images/please_wait.png" alt="Please wait" /></p>
    <p><input type="image" src="images/add_to_cart.png" alt="Add to cart"/></p>
</section>

这是在这种情况下唯一可以工作的jQuery选择器

$('.pleaseWaitButton').length // 1

这里的jQuery选择器将无法正常工作!

$('.pleaseWaitButton').find('input').length // 0
$('.pleaseWaitButton input').length // 0
$('.pleaseWaitButton > p > input').length // 0

有任何想法吗?任何人…?

解决方法

Internet Explorer 8对HTML 5,IE6和IE7平台的古怪支持只是不支持它.

您需要使用shiv的HTML 5元素,以便对其进行风格和正确使用方法/属性,如innerHTML,getElementsByTagName.

这将在IE6-IE8中工作:

<!doctype html> 
<html> 
<!--[if lt IE 9]>
<script src="http://html5shiv.googlecode.com/svn/trunk/html5.js"></script>
<![endif]--> 
<section class="pleaseWaitButton"> 
    <p><img src="images/please_wait.png" alt="Please wait" /></p> 
        <p><input type="image" src="images/add_to_cart.png" alt="Add to cart"/></p> 
</section> 
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1/jquery.js"></script> 
<script> 
    alert( $('.pleaseWaitButton').find('input').length ) 
    alert( $('.pleaseWaitButton input').length ) 
    alert( $('.pleaseWaitButton > p > input').length ) 
</script> 
</html>

现场演示:http://medero.org/html5.html

原文地址:https://www.jb51.cc/jquery/151385.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐