對於這個HTML:JQuery的:改變CSS如果一個元素不是event.target
<div class="container">
<div class="stackRightRow" id="stack1">
<div class="podMiddle">
</div>
<div class="podMiddle">
</div>
<div class="podMiddle">
</div>
<div class="podMiddle">
</div>
<div class="podMiddle">
</div>
<div class="pod">
<p class="podLabel"></p>
</div>
</div>
<div class="stackRightRow" id="stack2">
<div class="podMiddle">
</div>
<div class="podMiddle">
</div>
<div class="podMiddle">
</div>
<div class="podMiddle">
</div>
<div class="podMiddle">
</div>
<div class="pod">
<p class="podLabel"></p>
</div>
</div>
<div class="stackRightRow" id="stack3">
<div class="podMiddle">
</div>
<div class="podMiddle">
</div>
<div class="podMiddle">
</div>
<div class="podMiddle">
</div>
<div class="podMiddle">
</div>
<div class="podMiddle">
</div>
<div class="podMiddle">
</div>
<div class="pod">
<p class="podLabel"></p>
</div>
</div>
</div>
當我點擊一個堆棧DIV,下面的JQuery變化的podMiddle
和pod
CSS參數,只有當他們」包含在那個堆棧中,即我點擊的那個:
$(document).ready(function() {
$('.stackLeftRow, .stackRightRow').on('click', enlarge);
function enlarge()
{
$(event.target).closest('.stackLeftRow').find('.podMiddle').css({'margin-left' : '-3.3em'});
$(event.target).closest('.stackLeftRow').find('.pod').css({'top' : '-0.287em' , 'margin-left' : '-3.8em'});
}
});
到目前爲止這麼好。如果我點擊stack3
,它只會更改stack3
中的pod
和podMiddle
元素。
現在我想要做的是編寫JQuery,如果我點擊另一個堆棧,它將再次更改CSS。所以我想說基本上「如果一個給定的堆棧ID 不是事件目標,然後將其CSS更改爲XYZ」。
我試過if語句和event.target的各種組合,但目前還沒有成功。
很好的答案,謝謝你的細節。那擴大的功能在那裏,因爲我在整體功能中有其他的東西,只是最小化它張貼在這裏,但是是的,這應該在任何情況下簡化事情。 – user3762977