我想结合我的选择器,它根据鼠标悬停事件选择一个元素。这就是我到目前为止所拥有的。
parentItem.mouseenter(function ()
{
var childItems = $(this).add(this + "li:first");
childItems.show();
});
我知道我不能单独使用“this”,也不能将两者加在一起,因为它不是字符串。
我将如何实现这个概念?谢谢。
我想结合我的选择器,它根据鼠标悬停事件选择一个元素。这就是我到目前为止所拥有的。
parentItem.mouseenter(function ()
{
var childItems = $(this).add(this + "li:first");
childItems.show();
});
我知道我不能单独使用“this”,也不能将两者加在一起,因为它不是字符串。
我将如何实现这个概念?谢谢。
你不能这样做this + "li:first"
,this
是一个 DOMElement,而不是一个字符串。做就是了:
$(this).add("li:first");
虽然,这可能不是你想要的。这将<li>
在页面上找到第一个(并将其添加到包含 的 jQuery 对象中this
)。
如果你想要第一个<li>
是 的孩子parentItem
,试试这个:
$("li:first", this);
(这与 相同$(this).find("li:first");
)
如果我理解正确,您正在尝试选择li
触发事件的元素下的第一个?您可以this
用作上下文:
parentItem.mouseenter(function ()
{
var childItems = $("li:first",this);
childItems.show();
});
您不能连接this
(在这种情况下是 DOM 元素),因为它不能被强制转换为字符串。 .add
只需将更多元素添加到集合中。 $(this)
已经与当前元素匹配(即鼠标悬停),因此这似乎可以满足您的需要:
$(this).add("li:first").show();
我想结合我的选择器,它根据鼠标悬停事件选择一个元素。这就是我到目前为止所拥有的。
您没有指定要实现的目标,但是您可以使用 next() prev() child() parent() jQuery 方法
编辑:Ayways 是您的目标只是简单地选择父母孩子的第一个元素吗?