jQuery在元素上面选择LI

时间:2013-06-12 11:16:35

标签: javascript jquery

我正在尝试选择按钮上方的列表项,并将其父级background-color更改为红色。

    <li>red bg on click <input class="addtocart" value="press" name="button"></li>
    <li>red bg on click <input class="addtocart" value="press" name="button"></li>
    <li>red bg on click <input class="addtocart" value="press" name="button"></li>
    <li>red bg on click <input class="addtocart" value="press" name="button"></li>

jQuery到目前为止:

$(document).ready(function() {
  $(".addtocart").click( function(){
     $('li').parent().css('background-color', 'red');
  });
});

从我看到它看起来是正确的,但它似乎正在改变另一个元素的background-color

谢谢

5 个答案:

答案 0 :(得分:4)

使用this

$(this).parent().css('background-color', 'red');

答案 1 :(得分:4)

尝试:

$(document).ready(function() {

      $(".addtocart").click( function()
           {
             $(this).closest('li').css('background-color', 'red');
           }
      );
});

答案 2 :(得分:1)

你的选择器错了。尝试将this用于当前元素

当您使用$('li')时,它将适用于所有li元素

$(this).parent().c....

答案 3 :(得分:1)

您需要当前点击的元素

$(this).parent().css('background-color', 'red');

演示:Fiddle

答案 4 :(得分:1)

尝试更改为:

$(this).parent().css('background-color', 'red');