javascript - jQuery 组合多个元素

标签 javascript jquery jquery-selectors

我在试验 jQuery 时遇到了一个问题。我可以将 实际选择器 与现有 元素 一起用作 jQuery 的组合选择器吗?

所以,假设我已经即时创建了一个 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 元素。

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

对于jQuery中的这种情况有什么解决办法吗?还是有更准确的解决方案?

最佳答案

您可以使用 jQuery add方法:

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

关于javascript - jQuery 组合多个元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23994622/

相关文章:

javascript - 解决任何状态下的 UI-Router

javascript - 使用 jquery 调出一个 div 以单击并悬停

javascript - jQuery future 元素选择器

javascript - Javascript 闭包和 Swift 闭包是否相同

javascript - 在 JavaScript 对象中创建变量时,代码如何知道在哪里添加新变量?

javascript - 如何禁用历史记录返回时的页面重新加载?

javascript - 仅当拖动的元素具有特定类时,如何删除它?

javascript - 函数中惯用的 jQuery 和选择器路径

jquery - 这些 jQuery 选择器之间有什么区别吗?

javascript - 修复了 header Javascript 在 Internet Explorer 11 中不起作用的问题