2011-04-20 1 views
1

이러한 쉬운 질문하지만,이 하나의 반복 후, 나는 "RFV"로 시작하는 페이지에 여러 스팬있어 정지 ... 첫 번째 문을. 개개의 개입 후에 각()이 멈추고 있습니까?

function pageLoad() { 
    runDatepickers(); 
    $("#btnSubmit").click(function() { 
     $('span[id^="rfv"]').css("display", "block"); 
     alert("Submit was clicked"); 
     $('span[id^="rfv"]').each(function() { 
      alert($(this).attr("id")); 
      if ($(this).css("display") = "inline") { 
       alert("display is inline"); 
       $(this).css("display", "block"); 
      } 
     }); 
    }); 
}; 

그것을 알아낼 수 없습니다 $('span[id^="rfv"]').css("display", "block"); 올바르게 선택하고 모든 요소의 표시를 변경하지만 내 경보에 따라 각 요소에 들어가면 첫 번째 요소 만 일치하게됩니다. 나는 무엇을 여기에서 놓치고 있냐??

답변

5

정확성 : 변화

if ($(this).css("display") = "inline") 

if ($(this).css("display") === "inline") 

에 성능 : 캐시의 jQuery 셀렉터에 적합합니다.

편의점 : 두 번째 인수로 .css() can take a function이라는 사실을 이용하십시오.

function pageLoad() { 
    runDatepickers(); 
    $("#btnSubmit").click(function() { 
     $('span[id^="rfv"]').css("display", function (i, display) { 
      return display === "inline" ? "block" : display; 
     }); 
    }); 
}; 



에필로그 :, 오 은 디버깅을 위해 alert()을 사용하지 마십시오 바랍니다. 실제 디버거를 사용하십시오.

+0

GAH 인 곳에 ===

=가 할당 연산자 =에 !!! 보기 쉬운, 그게 내가 VB에서 하루 종일 코딩에 대한거야 ... – SventoryMang

+0

@ sah302 : 내 편집, BTW 참조하십시오. –

+0

@Matt Ball은 대단히 유용합니다. jquery/js를 많이 사용하지 않아서 "진짜 디버거"를 권하고 싶습니다. – SventoryMang

3
if ($(this).css("display") = "inline") { 

변경 === 같은 비 변환 항등 연산자