여기에 상황이 있습니다. 마우스를 가져간 요소에 테두리를 추가해야합니다. 저는 Jquery로 해보고 있습니다. 비슷한 질문을 여기에서 찾으 셨지만 모두 $(".myClass")
또는 $("#myId")
과 같은 특정 선택기가 있습니다. 하지만 내 것은 $("*")
입니다. 내 코드가 작동하지만 문제는 다른 요소 안에 요소가있는 경우 두 요소에 내가 추가 한 클래스가 있다는 것입니다. 그리고 입력 한 요소에 클래스를 추가하기 만하면됩니다.마우스 오버시 클래스 추가
ids 요소가 변경 될 수 있기 때문에 이것은 HTML의 기본 예입니다. 내가 자신을 분명하게 희망 http://jsfiddle.net/k4y00sa2/ :
<div id="first">
<div id="second">
<h2>TESTING MOUSE OVER</h2>
</div>
</div>
CSS의
#first{
background-color: red;
padding:50px;
}
#second{
background-color: blue;
text-align: center;
}
.over{
border: 2px dashed black;
}
그리고 JQuery와 여기
$(document).ready(function(){
$("body *").mouseover(function(){
$(this).addClass("over");
});
$("body *").mouseleave(function(){
$(this).removeClass("over");
});
});
은 예입니다. 감사합니다.
아이디어는 당신과 비슷하지만, 예를 들어 국경이있는 빨간색 div를 시도해 보았습니다. 그리고 엘리멘탈이 3 개라면 각 요소를 마우스로 움직이면 3 개의 검은 색 테두리가 보일 수 있지만 하나는 있습니다. "over"클래스를 추가하지 않으면 H2 또는 두 번째 div가 있는지 알 수 없습니다. – Bak
부모가 가지고 있지 않으면 추가됩니다. 따라서 HTML을 통해 첫 번째 DIV의 경계를 정하고 두 번째는 건너 뛰고 H2는 경계를 맞 춥니 다. 중첩 된 방식에 따라 단순히 다른 모든 노드에 접하게됩니다. – Dillon
또한 효과를 원하는 요소를 알고있는 경우. CSS 클래스를 .over : hover로 변경 한 다음 효과를 적용 할 각 요소에 class = "over"를 추가하십시오.그렇다면 자바 스크립트가 필요하지 않습니다. – Dillon