2017-07-19 60 views
-1

我有兩個div,我不能改變。一個div是超過一個的父項。我希望他們有一個主動權,但是如果我徘徊孩子,父母的懸停應該消失。 divs由extjs自動創建,它可以是2甚至更多。把hover div轉換成div

<div class="x-test-container"> 
    <div class="x-test-container"> 
     <div class="x-test-container"> 
     </div> 
    </div> 
</div> 

所以,如果我徘徊內心的孩子,我想父母沒有hovereffekt。有人能幫我嗎?

+0

你可以給CSS? – Nihal

+0

你可以指定CSS。嘗試使用'.class> .class'它將首先嵌套到這個類中,但是由於它是兩次嵌套,所以可以訪問唯一的最後一個。 – Sergey

+0

另外,您可以使用JavaScript來完成,因爲您可以更輕鬆地指定所需的元素,因爲您可以使用第二個元素。但是你需要'eventListener' – Sergey

回答

1

這應該工作

$(document).ready(function() { 
 
    $(".x-test-container").mouseover(function(event) { 
 
    event.stopPropagation(); 
 
    //set the background color to desired color on mouseover 
 
    \t $(this).css('background', 'green'); 
 
    }); 
 
    
 
    $(".x-test-container").mouseout(function(event) { 
 
    //set the background color to desired color on mouseout 
 
    \t $(this).css('background', 'transparent'); 
 
    }); 
 
});
div { 
 
    border: solid 1px; 
 
    padding: 25px; 
 
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<div class="x-test-container"> 
 
    <div class="x-test-container"> 
 
    <div class="x-test-container"> 
 
    </div> 
 
    </div> 
 
</div>

+0

這看起來很棒!我們使用extjs而不是jquery,但我想我可以翻譯它;)謝謝! – Liz

+0

@利茲歡迎您! –

0

試試這個

jQuery(document).ready(function() { 
 
    jQuery('.x-test-container').last().css('background', 'green'); 
 
    jQuery('.x-test-container').last().hover(function() { 
 
    jQuery('.x-test-container').last().css('background', 'red'); 
 
    }); 
 
    jQuery('.x-test-container').last().mouseout(function() { 
 
    jQuery('.x-test-container').last().css('background', 'green'); 
 
    }); 
 

 
});
div { 
 
    border: solid 1px; 
 
    padding: 25px; 
 
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<div class="x-test-container"> 
 
    <div class="x-test-container"> 
 
    <div class="x-test-container"> 
 
    </div> 
 
    </div> 
 
</div>