我正在尝试选择按钮上方的列表项,并将其父级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
。
谢谢
答案 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)
答案 4 :(得分:1)
尝试更改为:
$(this).parent().css('background-color', 'red');