以下内容在 Firefox 中有效,但在 IE7 和 8 中中断:
$("#my-first-div, #my-second-div").hide();
所以我必须这样做:
$("#my-first-div").hide();
$("#my-second-div").hide();
这正常吗?
编辑:好的,我实际的代码是这样的:
$("#charges-gsm,#charges-gsm-faq,#charges-gsm-prices").html(html);
我的错误是这样的
( IE8): Message: 'nodeName' is null or not an object
Line: 19 Char: 150 Code: 0
URI: http://ajax.googleapis.com/ajax/libs/jquery/1.2.6/jquery.min.js
最佳答案
您指定的位置状态:
Message: 'nodeName' is null or not an object
Line: 19 Char: 150 Code: 0
URI: http://ajax.googleapis.com/ajax/libs/jquery/1.2.6/jquery.min.js
jquery 的特定部分是:
nodeName:function(elem,name){
return elem.nodeName&&elem.nodeName.toUpperCase()==name.toUpperCase();
}
它本身就是一个为调用jQuery.extend()
而创建的闭包。所以我想问一下,如果您执行“查看源代码”或其等效的 IE,是否有任何其他出现的字符串“nodeName”可能会干扰 jQuery。
您还可以通过创建 xx.html 文件并在 IE7/8 中打开它来测试以下内容吗?它在 Ubuntu 中的 Firefox 3 下运行良好,无论选择器中逗号后面有或没有空格。
<html>
<head>
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.2.6/jquery.min.js"></script>
<script type="text/javascript">
$(document).ready(function(){
$("a").click(function(event){
$("#charges-gsm,#charges-gsm-faq,#charges-gsm-prices").html("xx")
event.preventDefault();
});
});
</script>
</head>
<body>
<a href="http://jquery.com/">jQuery</a>
<hr>
<div id="charges-gsm">CHARGES-GSM</div>
<div id="charges-gsm-faq">CHARGES-GSM-FAQ</div>
<div id="charges-gsm-prices">CHARGES-GSM-PRICES</div>
</body>
</html>
关于IE 中的 jQuery CSS 选择器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/186876/