Javascript 使用jQuery更改父元素样式

Javascript 使用jQuery更改父元素样式,javascript,jquery,html,css,Javascript,Jquery,Html,Css,我有下一个html设置: <div class="one"> <div class="two"> <a href="#" class="three">Click</a> </div> </div> 下面是一个小提琴的例子: 我一直在这里寻找解决方案,但没有足够快地找到它(可能我看起来不够好:/) 谢谢。您需要使用.click()或.on('click')。。您还可以使用.nestest()而

我有下一个html设置:

<div class="one">
    <div class="two">
        <a href="#" class="three">Click</a>
    </div>
</div>
下面是一个小提琴的例子:

我一直在这里寻找解决方案,但没有足够快地找到它(可能我看起来不够好:/)


谢谢。

您需要使用
.click()
.on('click')
。。您还可以使用
.nestest()
而不是使用
parent()
两次

$(function(){
    $('.three').on('click',function(){
        $(this).closest('.one').css('backgroundColor', 'red');
    })
});

因为它是元素的下标,所以可以使用它向上移动,直到找到选择器为止

此外,您可以在CSS方法中使用CSS语法(
backgroundColor
,而不是
backgroundColor


我无法发表评论,所以,除了更高的答案之外,还有一点补充:

$(function(){
    $('.three').on('click',function(){
        $(this).closest('.one').css('background-color', 'red');
    })
});

Css没有名为backgroundColor的属性,只需在代码中添加Click事件即可。首先添加jquery.min.js,然后添加脚本。你可以这样做-

<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.3/jquery.min.js"></script>
<script>
     $(".three").click(function(){
         $(this).parent().parent().css("background","red");
     });
</script>

$(“.three”)。单击(函数(){
$(this.parent().parent().css(“背景”、“红色”);
});

您可以使用类似的方法

$('.three').on('click',function(){
    $(this).closest('.one').css('backgroundColor', 'red');
})

哇,谢谢你@adeneo!是的,谢谢@adeneo的评论快了一点:)谢谢你们两位。如果我有更多的元素具有类名,怎么办?两个,我还想更改所有元素的背景。两个元素(相同的设置,只有第一个元素。两个元素有元素。其中三个元素)?你有什么想法吗?@DejanMunjiza这就是你要找的吗。。我真的不明白你的意思。。也许你可以这样更好地解释它(我需要当我点击…我需要…改变…),也许这样我可以理解你想要什么。就这样。jQuery的绝对初学者,所以这是一个很大的帮助。@DejanMunjiza 1st完全欢迎您。。第二,如果你需要学习jquery,我推荐它最简单、最简单的教程对你很有帮助。。3d:祝你好运:)如果我在同一个类中有更多的元素呢?例如,如果使用此设置,我有3个元素的类名为.2,我想同时更改所有3个元素的背景(例如)?我不确定我是否理解。本例中不涉及
.two
类;基本上跳过了。你能更新你的问题,我会更新我的答案吗?对不起,让我们这样试试。在本例中,我想更改类为“.row”的所有元素的背景:
$(this).parents('.row').sides().addBack().css('background-color','red')与CSS的背景色不同,您必须编写backgroundColor,因为Javascript将连字符解释为减法运算。谢谢,我不知道这个事实!你的答案和may的答案有什么不同?没有区别,但这样我就不能想出类似的解决方案了吗?$('3')。父母('somedive')。css('prop','value'))
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.3/jquery.min.js"></script>
<script>
     $(".three").click(function(){
         $(this).parent().parent().css("background","red");
     });
</script>
$('.three').on('click',function(){
    $(this).closest('.one').css('backgroundColor', 'red');
})