作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在尝试编写一个选择器,它得到 this
对象仅在它是 anchor 的情况下。我希望它什么也得不到,以防它不是<a>
标签。
$('.link').mouseover(function(){
$("a", this).css('color','#00F');
})
$("a", this).css('color','#00F');
不起作用,但如果我只留下 this
就会达到预期的效果查询中。我在示例、博客和文档中可以找到的所有其他选择器都是用于获取子对象( find()
children()
)、组合两个选择器(与 add()
),或者除了我正在寻找的东西之外的几乎任何其他选择器为了。有人可以帮忙吗?
最佳答案
您可以使用 is()
方法检查是否 $(this).is('a')
,然后做出相应 react ;
if ($(this).is('a')) {
$(this).css('color', '#00F');
}
但在这种情况下,也许更好的解决方案是使用 filter()
方法 $(this).filter('a').css('color','#00F');
要注意的是,filter()
过滤当前 jQuery 对象;因此 $('*').filter('a')
将从所有元素中过滤出 a
。另一方面,$('a', this)
(相当于$(this).find('a')
)搜索 jQuery 对象中元素的后代,其中匹配提供的选择器。
关于jquery - 如何将 "this"与另一个选择器结合起来?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12254042/
我是一名优秀的程序员,十分优秀!