2012-04-23 2 views
0

다음 코드에서 문제가 보이지 않는 것 같습니다. 장님이 될 수도 있습니다.JQuery 선택기 또는 마우스 오버 문제

색상을 바꾼 javascript 라인은 작동하지만 다음 라인은 내가 잘못하고있는 것이 아닙니까?

<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js" type="text/javascript"></script> 

<div class="Generic"> 
    <div class="box"> 

     <div class="Corner"> 
     </div> 


     <div class="headerText"> 
      <h1>text1</h1> 
      <p>text3</p> 
     </div> 


     <div class="Content"> 
      <a href="https://www.mylink.com" title="Sign Up Now">Proceed</a> 
     </div> 

    </div> 

    <p style="float:left; font-weight:bold; padding: 10px; padding-top:35px;">OR</p> 

</div> 

<script type="text/javascript"> 

    $("div.box").mouseover(function() { 
     $("div.Generic div.Content a").css("color", "yellow"); 
     $("div.Generic div.Content .box").css("border", "1px solid black"); 
    }); 

</script> 
+0

, 그 선택은 실제로 아무것도 일치 하는가? 'console.log ($ ('div.Generic div.Content .box.). 길이);' –

답변

3

선택기가 거꾸로 보입니다. 다음과 같이 시도해보세요.

$("div.Generic div.box div.Content").css("border", "1px solid black"); 

이렇게하는 것이 더 좋은 방법입니다. 대신보십시오 : 단지

$(function() { 
    $(".box").mouseover(function() { 
     $(this).find(".content").css("border", "1px solid black"); 
     $(this).find(".content a").css("color", "yellow");   
    }); 
});​ 
+0

환호 축하해. 나는 약간의 caffine이 필요하다고 생각해. 여분의 눈 쌍이 항상 도움이되어 주셔서 감사합니다! – Anicho

+0

괜찮습니다. 우리 모두는 우리 시대를 보낸다! :) –

4

이상을 사용 : 이미

+0

절대적으로 옳습니다. 문제는 선택기로 두 번째 줄에있는 것입니다 ... – rashid2538

+0

예, 감사합니다. 내 피곤함으로 인한 손쉬운 오류가 발생하면 바로 알려줍니다. – Anicho

1

.box이 div.Content 내에 있지를 선택 했으므로

$("div.box").mouseover(function() { 
     $("div.Generic div.Content a").css("color", "yellow"); 
     $(this).css("border", "1px solid black"); 
    }); 

,

그렇게 읽어야합니다

$("div.Generic .box").css("border", "1px solid black");

아니요?