下面是jQuery代码,其中第四行是什么意思,求解释

<scripttype="text/javascript">$(document).ready(function(){$(".ex.hide").click(functi... <script type="text/javascript">
$(document).ready(function(){
$(".ex .hide").click(function(){
$(this).parents(".ex").hide("slow");
});
});
</script>
其中$(this)指的是什么?
还有parents有什么用?
展开
 我来答
百度网友43e0f0a
2012-05-17 · 超过31用户采纳过TA的回答
知道答主
回答量:62
采纳率:0%
帮助的人:76.3万
展开全部
$(this)是把一个dom对象转化为jquery对象,其中this指是$(".ex .hide")获取的对象,虽然这里是通过jquery获取的,但是在方法体里面这个this仍然是dom对象,所以要通过$(this)来转化为jquery对象然后调用parents方法和hide方法
我给你个例子看下,这个例子你可以直接方法记事本里,然后将后缀改为htm看效果,注意改下jquery.js的引用地址。这个例子中使用了$(this)目的是获得$("#y")表示的对象
<html>
<head>
<script type="text/javascript" src='jquery-1.2.6.pack.js'></script>
</head>
<body>
<div id="x" style="width:100px;height:100px;border:solid 1px red">
<div id="y" style="width:100px;height:100px;border:solid 1px black">
000
</div>
</div>
<script type="text/javascript">
$("#y").click(
function (){
$(this).parents("#x").hide("slow");
}
)
</script>
</body>
</html>
追问
上面是#y下面怎么成了#x了?
追答
$("#y").click(
这个是为了获取这个div。
$(this).parents("#x").hide("slow");
这个是为了在的父节点里找到名字是“X”的哪一个div。

另外,.hide(),不是一个对象的名字,他是jquery架构里的一个方法,用来隐藏对象

感谢chjshen的支持
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
chjshen
2012-05-31 · 超过22用户采纳过TA的回答
知道答主
回答量:79
采纳率:0%
帮助的人:66.8万
展开全部
楼上回答的很好,你问的"#Y"换成"#X"是指这句吧 $(this).parents("#x").hide("slow");
$(this) 代表了$("#y"),后面的是指查找这个的父级对象中id 为 x的进行隐藏.
追问
问题:$(".ex .hide").click(function(){
$(this).parents(".ex").hide("slow");
});
第一行代码中,定义了两个对象.ex .hide,第二行代码中,查找.ex这个对象,对其隐藏。而.hide就有了单击事件。如果第二行代码查找的是.hide,那么.ex就有了单击事件。
是这个样子吗?
追答
我不是这么理解的,我理解的是第一行,找到的应该是 .ex 下的 .hide 也就是
这样的HTML代码

其他代码

你说的实现的功能应该是 点击 中间这个 hide div 后 他的父级 div 也就是 最外层的进行隐藏。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式