遇到null就无法运行下去,怎么解决? 本帖最后由 mingfish 于 2009-11-23 14:57:10 编辑 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 你的页面中没.test 所以$(".test")返回空,你取what[0].className就会报错了,要在这之前判断 你根本就没有test这个className. 怎么没有test啊,明明就有<div class="test li_h24"> <span class="good">good day</span></div> 难道var 一个变量,该变量一定不能是null的? $('.test')是jquery对象的集合,没有className属性,$('.test').eq(0)//获取第一个jq对象$('.test').get(0)//获取第一个元素 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head runat="server"> <script type="text/javascript" src="jquery-1[1].3.2.min.js"></script> <style type="text/css"> .test { color:Red; } </style> <script type="text/javascript"> function getclass() { $(".good").addClass("test"); } </script> <title></title></head><body onload="getclass()"> <form id="form1" runat="server"> <div> <span class="good">good day</span> </div> </form></body></html> 晕死,getclass($('.test'))这不是把test传进去了吗。先说明,上面的代码运行完全没有错,只是将<div class="test li_h24">改成div class="test">时才会报错。 function getclass(what) { // var liheight = what[0].className.match(/li_h\d+/)[0]; //debugger; var liheight = $('.test').get(0).className.match(/li_h\d+/); if (liheight) { $(".test2").addClass(liheight[0]); } else { alert("没有这个class属性"); } } 能行,能否解释一下?是不是 what[0].className.match(/li_h\d+/) 如果已经是nullwhat[0].className.match(/li_h\d+/)后面再加[0]的话js无法运行下去了?//debugger;还有你是用什么调试js的,一直都没有很好的调试js方法,只是用firebug,好像不太专业 只有数组才可以使用索引来访问它的元素,null不是一个数组对象,所以null[0]这样的语句是错误的。调试js用firebug和vs2008 setInterval的问题 急!Google Chrome浏览器怎么调用exe? 用div模拟了个带复选款的下拉列表,还有点需求,请高手帮忙! 正则表达式在实战中用的多吗? 关于IE7下最大化的问题! 限制文本框内不能输入连续减号(-) 的表达式该怎么写(急) 怎样实现一个滚动条(slider) 蛙蛙请教:如何把脚本编译成dll文件 (菜鸟一问~!)怎么生成 *.js文件并在jsp中直接调用*.js文件? JSON.stringify后,日期时间改变 如何向父页面的下拉框赋值 怎么修改函数的内容
<div class="test li_h24">
<span class="good">good day</span>
</div>
$('.test').eq(0)//获取第一个jq对象
$('.test').get(0)//获取第一个元素
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server"> <script type="text/javascript" src="jquery-1[1].3.2.min.js"></script> <style type="text/css">
.test
{
color:Red;
}
</style> <script type="text/javascript">
function getclass() {
$(".good").addClass("test");
}
</script> <title></title>
</head>
<body onload="getclass()">
<form id="form1" runat="server">
<div>
<span class="good">good day</span>
</div>
</form>
</body>
</html>
<div class="test li_h24">
改成
div class="test">
时才会报错。
function getclass(what) {
// var liheight = what[0].className.match(/li_h\d+/)[0];
//debugger;
var liheight = $('.test').get(0).className.match(/li_h\d+/);
if (liheight) {
$(".test2").addClass(liheight[0]);
} else {
alert("没有这个class属性");
}
}
是不是 what[0].className.match(/li_h\d+/) 如果已经是null
what[0].className.match(/li_h\d+/)后面再加[0]的话js无法运行下去了?//debugger;
还有你是用什么调试js的,一直都没有很好的调试js方法,只是用firebug,好像不太专业