有四个父级div具有相同的类,并且所有这些div都有一个具有类'child'的子级。现在的问题是,假设我点击了第一个父div的子div(First Child),我想对它的父母产生一些影响,即'First Parent'只受影响。由于是类似的类'所有父母div将受影响。 这是HTML
<div class="parent"> //First Parent
<div class="child"></div> //First Child
</div>
<div class="parent">
<div class="child"></div>
</div>
<div class="parent">
<div class="child"></div>
</div>
<div class="parent">
<div class="child"></div>
</div>
这是JQuery
$('.child').on('click',function(){
$(this).parent('.parent').css({
'display':'none';
});
});
单击子元素将影响所有父div与类“parent”。要么我可以给它们所有单独的类,然后为所有这些类写入onClick()方法,但这不是一个合适的解决方案。
答案 0 :(得分:3)
你可以做到
$(this).parent().hide();
如果你想隐藏点击的div的父级
答案 1 :(得分:2)
使用最近的('。class')
$('.child').click(function() {
$(this).closest('.parent').css('display':'none');
});
我更新了我的答案!
答案 2 :(得分:0)
$(document).ready(function() {
$('.child').on('click',function(){
$(this).closest('.parent').css('display','none');
});
});
OR
$('.child').on('click',function(){
$(this).parent('.parent').eq(0).css('display','none');
});
答案 3 :(得分:0)
按照以下方式更改您的JS:
$('.child').on('click',function(){
$(this).parent().css({
'display':'none'
});
});
对我而言,点击一个div,它隐藏了它的父级。不是其他人。 顺便说一下,你有一个&#34 ;;&#34;之后&#39;没有&#39;这是无效的,因为这是一个对象,并且只接受任何内容或逗号。
答案 4 :(得分:0)
你的答案是正确的,这是一个很好的做法,我不知道这里的问题是什么。
您可以$(this).parent('.parent').hide();
进行唯一的更改,而不是使用jQuery css方法。
答案 5 :(得分:0)
试试这段代码
$(document).ready(function() {
$('.child').click(function() {
$(this).parent().css('display', 'none');
});
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class="parent">
<div class="child">first</div>
</div>
<div class="parent">
<div class="child">second</div>
</div>
<div class="parent">
<div class="child">third</div>
</div>
<div class="parent">
<div class="child">fourth</div>
</div>
答案 6 :(得分:0)
$('.child').on('click',function(){
$(this).closest('.parent').css({
'display':'none'
});
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class="parent"> //First Parent
<div class="child">div 1</div> //First Child
</div>
<div class="parent">
<div class="child">div 2</div>
</div>
<div class="parent">
<div class="child">div 3</div>
</div>
<div class="parent">
<div class="child">div 4</div>
</div>
答案 7 :(得分:0)
好的,这里有很多答案,“尝试这个”或其他例子。
首先,您的代码实际上可以正常工作,如您所见:
但是,代码中有一个错误。这是;
'display':'none';
javascript对象中应该没有;
。