jquery
  • regex
  • css-selectors
  • 2009-09-26 3 views 0 likes 
    0

    ids row_26 및 notificationrow_26이있는 테이블에 두 개가 있습니다.Jquery selector 문제

    row_26을 강조하고 싶습니다. 그래서 나는 어느 쪽이든을 사용한다.

    var deviceUID = 26; 
    $("#row_" + deviceUID).effect("highlight", {}, 3000);  
    
    OR 
    
    $("tr[id^='row_"+deviceUID+"']").effect("highlight", {}, 3000); 
    

    나는 이것을한다. 또한 notificationrow_26을 강조 표시합니다. 또한 noticerow_26에서 강조 표시가 제대로 작동하지 않습니다. 색상을 원래대로 변경하지 않습니다.

    내가 누락 된 항목이 있습니까?

    +0

    첫 번째 선택기로 더 많은 코드를 보여줘야한다고 생각합니다. 그 단일 행을 강조 표시해야합니다. – tvanfosson

    답변

    2

    두 셀렉터 모두 나를 위해 단일 요소 row_26을 선택하는 것이 효과가 있습니까? 그렇다면 포함하지 않은 코드의 다른 부분에 문제가있을 수 있습니다.

    [id^=row_26]row_260과 같은 ID와 일치하지만, 원하는 것은 아닐 수 있습니다.

    당신이 (anything)row_26 캐치 일치하고 싶었다면 모두 row 당신이 끝 속성 선택이 아닌 시작의-속성을 필요로하는 notificationrow : [id$=row_26]합니다.

    [예외 : 그러나 성능이 문제가되면 #row_26#notificationrow_26이라는 두 개의 분리 된 선택기를 사용하는 것이 더 빠르며 jQuery는 각 요소의 ID를 검색하는 대신 getElementById를 사용할 수 있습니다.

    $(document.getElementById('row_'+deviceUID)).effect(...); 
    $(document.getElementById('notificationrow_'+deviceUID)).effect(...); 
    

    이 적은 'jQuery를 같은'보이지만, 더 빨리 그리고 당신은에 맞지 않는 속성 값에 '특별한'문자에 대해 걱정할 필요가 없습니다 : 또는 당신도 스스로를 호출 할 수 있습니다 선택기.]

    +0

    정말 고맙습니다. 도와 주셔서 감사합니다. –

    관련 문제