如何让jQuery只修改一个div,而不是同一个类的所有div?

时间:2009-01-01 19:08:15

标签: javascript jquery

我网站的每个页面都有10个(几乎)相同的div,仅在其中的文本中有所不同。当点击div的某个部分时,我希望修改该div的不同部分。

我正在使用此代码:

$(document).ready(function(){
 $(".notLogged img").mouseover(function(){
  $(this).parent()>$("span").html("You must be logged in to vote.");
 })
})

我认为这可以如下工作:对于“notLogged”类别div中的所有img元素,鼠标悬停会导致该div的不同部分发生变化。

然而,事实并非如此。每当触发鼠标悬停事件时,都会修改所有 div并使用“notLogged”类。

如何修改此代码,以便仅修改鼠标悬停所在的div?

2 个答案:

答案 0 :(得分:8)

试试这样:

$(document).ready(function(){
 $(".notLogged img").mouseover(function(){
  $(this).parent().find("span").html("You must be logged in to vote.");
 });
});

答案 1 :(得分:0)

// Assuming the 1st span in the div is the one to be modified.
$(this).parent().$('span:eq(1)').html("You must be logged in to vote.");
// :eq(1) selects the first element that matches its selector.  You could
// also use ':first' in this case.