jquery获取列表项的父级ul单击

时间:2011-09-30 16:04:00

标签: jquery

我正在尝试编写一个简单的悬停功能(请不要另外建议,我有特殊需求)。我有悬停工作,以便它将显示在列表项的右侧,它正在悬停。页面的样式显示左侧导航,其中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(); });

3 个答案:

答案 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();