jQuery结合了多个元素

时间:2014-06-02 12:30:53

标签: javascript jquery jquery-selectors

我正在试验jQuery并遇到了一个问题。我可以使用现有actual selector的{​​{1}}作为jQuery的组合选择器吗?

所以,假设我已经创建了一个element元素:

DIV

当用户将鼠标悬停在var $div = $('<div>') .css('position', 'absolute') .hide(); // Just to be short $('body').append($div); 元素/段落(在光标位置)时,我想显示它:

P

但是我还希望将此$('p').hover(function(e) { // Change the position of $div with regards of cursor position $div.show(); }, function(e) { $div.hide(); }); 处理程序应用于hover本身。因此,我不想复制我的代码,而是想做类似的事情:

$div

将选择$('p', $div).hover(...) 元素以及所有$div元素。

我知道我可以单独编写函数并将名称作为参数传递给P函数。

jQuery中有这种情况的解决方案吗?还是有更准确的解决方案?

2 个答案:

答案 0 :(得分:4)

您可以使用jQuery add方法:

$('p').add($div).hover(function(e) { ...

答案 1 :(得分:-1)

如果您要结合多个元素,那么您就不想做

$('p').add($div1).add($div2).add($div3).add($div4).add($div5).add($div6) ...

相反,您想将JavaScript数组转换为jQuery对象

$( $.map([x,y,z], a => [...$.makeArray(a)]) )

来源:Merging jQuery objects