console.log($('。divs')。click(<function>))显示了一个div数组... click方法是否返回其作用的对象?

时间:2019-01-31 10:42:29

标签: javascript jquery

console.log($('.divs').click(<function>)) 

这显示了一个div数组。 click方法是否返回其作用的对象? 这只是基本内容-也许有人可以说更多。 $()返回带有选择器的元素数组很自然。但是$(<selector>).click(<function definition>)-只是定义了单击$(<selector>)的每个元素时应该发生的事情-为什么还要“返回”元素数组?

这里也是上述http://jsfiddle.net/jy7kpL6f/

的小提琴

或此处-HTML / CSS / jQuery

var addclass = 'color';
var $cols = $('.divs').click(function(e) {
  $cols.removeClass(addclass);
  $(this).addClass(addclass);
});
var $cols2 = $('.divs');

console.log($('.divs').click(function(e) {
  $cols.removeClass(addclass);
  $(this).addClass(addclass);
}));
.color {
  background-color: green;
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>

<div class="divs">
  1st Div
</div>
<div class="divs">
  2nd Div
</div>
<div class="divs">
  3rd Div
</div>
<div class="divs">
  4th Div
</div>

2 个答案:

答案 0 :(得分:1)

click()返回所有选定的元素,就像许多其他jQuery函数一样。

这可以方便地链接如下功能:

$(".divs")
    .click(callback1)
    .hover(callback2)

...等

答案 1 :(得分:1)

是的,确实如此。由于称为chaining的东西,它返回元素。它启用以下调用:

$('div').addClass('on').removeClass('off');