我正在尝试编写一个简单的悬停功能(请不要另外建议,我有特殊需求)。我有悬停工作,以便它将显示在列表项的右侧,它正在悬停。页面的样式显示左侧导航,其中ul背景看起来像一个实体块。这意味着我需要我的悬停在整个ul的右边,而不仅仅是我已经过了,因为它很短。我正在尝试获取li的父级,但是我得到一个错误this.parent不是一个函数。 我如何得到李的父亲ul,这样我才能得到它的位置。
我的李有一类.left-nav-item
this.myhover = function () {
this.xOffset = -10; // x distance from mouse
this.yOffset = 10; // y distance from mouse
$(".left-nav-item").unbind().hover(
function (e) {
this.top = (e.pageY + yOffset);
this.left = (e.pageX + xOffset);
alert(this.title);
this.parent().css('background-color', 'red');
$('body').append('<p id="new">My Hover Text</p>');
$('p#new').css("top", this.top + "px").css("left", this.left + "px").css("position", "absolute").fadeIn("slow");
},
function () {
//$("p#new").fadeOut("slow").remove();
}
).mousemove(
function (e) {
this.top = (e.pageY + yOffset);
this.left = (e.pageX + xOffset);
//$("p#new").css("top", this.top + "px").css("left", this.left + "px");
}
);
};
jQuery(document).ready(function ($) { myhover(); });
答案 0 :(得分:8)
你的问题:
如何获得li的父级ul,以便我能够获得它的位置。
$('your li').closest('ul');
答案 1 :(得分:4)
尝试 -
$(this).parent().css('background-color', 'red');
parent()
是一个jQuery函数,只能用于jQuery包装元素。
答案 2 :(得分:0)
$('li.left-nav-item').parent();