2017-08-30 117 views
0

如何通过点击.box3更改.box1的样式?母公司以外的存取格

$(function() { 
 
    $(".box3").click(function() { 
 
    $(this).parents().find('.box1').css('border', '1px solid red'); 
 
    }); 
 
})();
.container { 
 
    width: 200px; 
 
    height: 200px; 
 
    border: 1px solid #000; 
 
} 
 

 
.box { 
 
    width: 100px; 
 
    height: 50px; 
 
    margin: 10px; 
 
    border: 1px solid green; 
 
} 
 

 
.box1 {}
<div class="container"> 
 
    <div class="box box1">Box1</div> 
 
    <div class="box box2">Box2 
 
    <div class="box3">Box 3</div> 
 
    </div> 
 
</div>

+0

'$(本)。家长(”。 ('。box1').css('border','1px solid red');' – Hazonko

+0

@Hazonko - 没有工作https://jsfiddle.net/v6z5yqyw/5/ – dragonfly

+0

看看控制台,你必须包括jQuery。

回答

1

您可以使用parent()prev() jQuery方法,如下面的示例。

例子:

$(function() { 
 
    $(".box3").click(function() { 
 
    $(this).parent().prev('.box1').css('border', '1px solid red'); 
 
    }); 
 
});
.container { 
 
    width: 200px; 
 
    height: 200px; 
 
    border: 1px solid #000; 
 
} 
 

 
.box { 
 
    width: 100px; 
 
    height: 50px; 
 
    margin: 10px; 
 
    border: 1px solid green; 
 
} 
 

 
.box1 {}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<div class="container"> 
 
    <div class="box box1">Box1</div> 
 
    <div class="box box2">Box2 
 
    <div class="box3">Box 3</div> 
 
    </div> 
 
</div>

0

使用parent()没有s

$(function(){ 
    $(".box3").click(function() { 
     $(this).parent().parent().find('.box1').css('border', '1px solid red'); 
    }); 
})(); 

,或者使用与parents参数selectorparents('.container')

$(function(){ 
    $(".box3").click(function() { 
     $(this).parents('.container').find('.box1').css('border', '1px solid red'); 
    }); 
})(); 
+0

它没有工作https://jsfiddle.net/v6z5yqyw/4/ – dragonfly

+0

@ Rafel--我没有添加jQuery。我想我没有更新。这是更新的一个https://jsfiddle.net/v6z5yqyw/6/ – dragonfly

0

如果你想只用Javascript功能来做到这一点....

var box3Div = document.querySelector("div.box3"); 
box3Div.onclick = function(){ 
    this.parentElement.previousSibling.style.border = "1px solid red"; 
}