我在页面中有以下html:
<head>
<script src="jquery-1.3.2.min.js" type="text/javascript"></script>
<script>
function hideIt() {
$(this).hide("slow");
return true;
}
</script>
</head>
<body>
<div onclick="hideIt();">
hello world
</div>
</body>
当我点击div时,会导致以下JavaScript错误:
线:53 错误:'this [...] .style'为null或不是对象
任何解决方案?
答案 0 :(得分:1)
该范围内没有this
对象的定义。
改为使用选择器:
<div class="ready_to_hide">
hello world
</div>
$('.ready_to_hide').click(function(){
$(this).hide();
});
答案 1 :(得分:1)
this
指的是当前对象。要使代码工作,您必须通过在函数调用中传递this
来传递对div元素的引用。
使用jQuery的主要优点是分离标记和脚本。因此,您不会在标记内编写事件处理程序。只有在DOM准备就绪后才能编写事件处理程序。
<head>
<script src="jquery-1.3.2.min.js" type="text/javascript"></script>
<script>
$(function(){
$("#divToHide").click(function(){
$(this).hide();
});
});
</script>
</head>
<body>
<div id="divToHide">
hello world
</div>
</body>
答案 2 :(得分:0)
这应该解决它
<div onclick="hideIt(this);">
和
function hideIt(o) {
$(o).hide("slow");
return true;
}
答案 3 :(得分:0)
$(this)
将只是你的DIV:
$('#myDiv').click(hideIt);
你正在做的方式,你需要传递对象的引用:
<div onclick="hideIt(this);">
并在你的函数中使用它:
function hideIt(obj) {
$(obj).hide("slow");
return true;
}
答案 4 :(得分:0)
试试这个:
<script>
function hideIt(item) {
$(item).hide("slow");
return true;
}
</script>
<div onclick="hideIt(this);">
hello world
</div>