2010-05-04 3 views
0

여기가 내 코드입니다. "경고 ([...]);"가 표시되면 경고가 나타납니다. CSS 스타일이 변경되지 않는 이유는 무엇입니까? '클릭'이벤트 이 아닙니다.jQuery : 선택한 후 요소 스타일을 변경할 수 없습니다.

resolveSideMenuAddress: function() { 
    var firstLink = $("#masterHeaderMenu .masterHeaderMenuButton a:first"); 

    function select(link) { 
     alert('i alert'); 
     link.css({ 
      'color': '#9a4d9e', 
      'cursor': 'default' 
     }); 
     alert('color and cursor not changed'); 
     link.click(function() { 
      alert('click'); 
      return false; 
     }); 
    } 

    if (window.location.pathname === firstLink.attr('href')) { 
     alert('i alert'); 
     select(firstLink); 
    } 
} 

나는 addClass()를 시도했으며 그 방법으로 링크 색상을 변경할 수 없습니다.

+1

당신은 응답에 노력을하는 사람들을 격려하는 다른 질문 몇 가지 답변을 받아 들여야 : –

+0

같은 경고가 두 번 울립니다. 팝업이 두 번 나타 납니까? –

+0

예. 훌륭한 질문입니다. jQuery newb로 불편을 끼쳐 드려 죄송합니다. – JamesBrownIsDead

답변

0

먼저, 실제로 클릭 이벤트를 발생시키지 않고 클릭 핸들러를 링크에 적용합니다. 실제로 링크를 클릭하기 전까지는 실행되지 않습니다. 기존 클릭 핸들러를 실행하려면 link.click() (기능 없음)을 시도하십시오. 실제로 링크를 가져 오려면 링크의 href 속성 값으로 위치를 설정하기 만하면됩니다. 둘째, CSS가 제대로 적용되지 않는 이유를 모르겠습니다. 그것은 나에게 좋아 보인다. 나는 파이어 폭스/파이어 버그를 사용하고 기능이 실제로 사용중인 스타일을보기 위해 실행 된 후에 요소를 검사 할 것을 제안 할 것이다.

resolveSideMenuAddress: function() { 
    var firstLink = $("#masterHeaderMenu .masterHeaderMenuButton a:first"); 

    function select(link) { 
     alert('i alert'); 
     $(link).css({ 
      'color': '#9a4d9e', 
      'cursor': 'default' 
     }); 
     alert('color and cursor not changed'); 
     $(link).click(function() { 
      alert('click'); 
      return false; 
     }); 
    } 

    if (window.location.pathname === firstLink.attr('href')) { 
     alert('i alert'); 
     select(firstLink); 
    } 
} 
+0

나는 그가 이것을 알고 있다고 생각하며 문제는 링크를 클릭해도 이벤트가 발생하지 않는다는 것입니다. – GerManson

0

는 다음과 같이 연결 대신 $ (링크)를 사용해보십시오.
관련 문제