$(function(){
var $content = $(this).next();
$("#para h5.head").bind("mouseover",function(){
$content.show(); //$(this).next().show();
}).bind("mouseout",function(){
$content.hide(); //$(this).next().hide();
})
});
在执行的时候,变量 $content 访问不到,如果按照注释编辑代码反而可以使用。
引用segmentfault上agui1989解答:
var $content = $(this).next();
//这里的$(this)
的上层如果找不到对象的话,会默认指向window,而window是没有next()的,这里就应该会报错了。
如果这里没有报错,那么这里的$content也只是特定的文档对象,而不是你以为的$(this).next()
这段代码。
而你bind里的$(this)指的是这个$("#para h5.head")
文档对象。
如果你上边的$content刚好也指向这个文档的话,就不会报错,比如把var $content = $(this).next();
改成$("#para h5.head");
则bind里就可以这样写:$content.next().show();
如果var $content=$("#para h5.head").next();
则bind中可以这样写:$content.show();
网友评论