<ul class="ul1">
<li><a href="#">00000001</a></li>
<li><a href="#">00000002</a></li>
</ul>
$(".ul1 li").mouseover(function() {
$("a",this).css('background', 'blue');//这里$("a",this)求解释
});
$("a",this).css('background', 'blue');
一般我是用$(this).find("a")找出li标签中的a元素,$("a",this)是什么意思,求解释,也相当于在li标签中找出a元素吗?谢谢~
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号
好吧,第一次遇到两个参数的选择器。哈哈,现在理解了。附上jquery源码
// HANDLE: $(expr, context)
见如下代码注释
这里的this指的是当前鼠标移上去的标签,你前面写了
$(".ul1 li").mouseover
,所以这里的this指的是当前鼠标指向的li,而里面的a,是在当前指向的li下寻找a标签。
$(".ul1 li").find('a')
$("a",this)这里的第二个参数"this"限定查找a的范围,$("span", this) 等价于 $(this).find("a")。
jQuery(selector, [context])一种用法解释:一般情况对jquery的选择器的用法,都是做为第一个参数的用法。其实jquery()函数的这种用法还可以传递第二个参数。传递这个参数的目的是将前面选择器限定在context这个环境中。在默认情况下,即不传第二个参数,选择器从文档根部对 DOM 进行搜索($()将在当前的HTML document中查找DOM元素);如果指定了第二个参数,如一个DOM元素集或jquery对象,那就会在这个context中查找。