繁体   English   中英

jQuery在元素上方选择LI

[英]jQuery select LI above element

我试图选择按钮上方的列表项,并将其父级的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

谢谢

this

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

尝试:

$(document).ready(function() {

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

您的选择器有误。 尝试将this用于当前元素

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

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

您需要当前点击的元素

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

演示: 小提琴

尝试更改为此:

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM