我有下一个html设置:
<div class="one">
<div class="two">
<a href="#" class="three">Click</a>
</div>
</div>
当我点击元素 .three .one >使用jQuery。
这是我试图使用的:
$(function(){
$('.three')(function(){
$(this).parent().parent().css('backgroundColor', 'red');
})
});
这是一个小提琴示例:https://jsfiddle.net/Munja/a7unbs2p/
我在SO上搜索解决方案但是找不到足够快的速度(可能我看起来不够好:/)。
谢谢。
答案 0 :(得分:4)
您需要使用.click()
或.on('click')
..您也可以使用.closest()
,而不是使用parent()
两次
$(function(){
$('.three').on('click',function(){
$(this).closest('.one').css('backgroundColor', 'red');
})
});
答案 1 :(得分:2)
只需在代码中添加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>
答案 2 :(得分:1)
由于它是元素的暗示,你可以使用.parents()
向上移动直到找到选择器。
此外,您可以在CSS方法中使用CSS语法(background-color
而不是backgroundColor
)。
$('.three').on('click', function(){
$(this).parents('.one').css('background-color', 'red');
})
答案 3 :(得分:0)
我无法发表评论,所以,只有更高的回答:
$(function(){
$('.three').on('click',function(){
$(this).closest('.one').css('background-color', 'red');
})
});
Css没有名称为backgroundColor的属性
答案 4 :(得分:0)
你可以使用这样的东西。
$('.three').on('click',function(){
$(this).closest('.one').css('backgroundColor', 'red');
})