jQuery“this”加上其他选择器?

Posted

技术标签:

【中文标题】jQuery“this”加上其他选择器?【英文标题】:jQuery "this" plus other selectors? 【发布时间】:2012-01-30 17:20:05 【问题描述】:

是否可以将$(this)$('.someclass') 结合使用?

例如:$(this + ', .someclass').hover();

我正在尝试使用悬停动作来为非后代类设置动画。我希望类元素动画“它”,即 $('.someclass') 或 $(this) 是否悬停。

我希望这可以在不创建 2 个单独的悬停动作的情况下完成。

【问题讨论】:

如果this 有一个id$('#' + this.id + ', .someclass').hover(); 【参考方案1】:

你可以使用jQuery的.add()

$(this).add('.someClass').hover();

【讨论】:

【参考方案2】:

您可以使用选择器上下文:http://api.jquery.com/jQuery/#jQuery-selector-context

$('+ .someclass', this).hover();

这是一个示例:将鼠标悬停在第一个兄弟姐妹上,第二个兄弟姐妹的背景颜色将被更改。

$('.sibling1').hover(
  function() 
    $('+ .sibling2', this).css("background":"#ff0");
  ,
  function() 
    $('+ .sibling2', this).css("background":"#eee");
  
);
div 
  padding:5px;
  background:#eee;
  margin-bottom:5px;
  display:inline-block;
  cursor:pointer;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>

<div class="sibling1">Sibling 1</div>
<div class="sibling2">Sibling 2</div>

【讨论】:

【参考方案3】:

另一种选择是使用 jQuery find()

$(this).find('.someclass').hover();

【讨论】:

这将寻找.someclass 作为this 的子级。它不等同于选择器中的,

以上是关于jQuery“this”加上其他选择器?的主要内容,如果未能解决你的问题,请参考以下文章

jquery之选择器

jQuery选择器之特殊选择器this

jquery的基础知识复习(基础选择器,属性选择器,层级选择器)

jQuery-选择器

jquery双向列表选择器DIV模拟版

Jquery $('class', this) 选择器不起作用