2011-12-01 6 views
1

이 코드에서는 두 개의 문자열을 jQuery와 비교하려고합니다. div (현재) 정적 페이지에서로드 된 div 및 현재 내용의 현재 내용입니다. 나는 콘텐츠 바르를 볼 때jQuery에서 문자열을 비교하는 방법

하지만로드 된 내용은 현재 내용과 동일 할 때, 작동하지 않습니다, 그것은 여전히 ​​새로운 콘텐츠를로드는 ...

, 그들은 정말 (내가 사용하는 동일 JS 경고).

$(document).ready(function() { 
    var refreshId = setInterval(function() { 
     $.get("ajaxGetEvents.aspx", function (data) { 
      if ($('#events').html() != data) { 
       $('#events').fadeOut('slow', function() { 
        $(this).load('ajaxGetEvents.aspx').fadeIn('slow'); 
       }); 
      } else { 
       alert("item is equal"); 
      } 
     }); 
    }, 5000); 
}); 
+1

HTML을 볼 수 있습니까? 이것이 asp와 어떤 관련이 있습니까? –

+0

== 대신에 == 시도한 적이 있습니까? = –

+0

HTML/탭 등에 공백이 있으면 false로 표시됩니다. 두 요소 모두에서'.text()'를 사용해보십시오. – Niels

답변

0

난 당신이 $('#events').html()data에 대한 기대 값을받지 못하고있다 생각한다.

if 문에 중단 점을 배치하고 값을 검사하려면 firebug 또는 developer tools을 사용할 수 있습니까?

또는 당신은 단지 예 ...이 포함 된 내용보고 경고의 몇 던질 수 : 당신이 불을 지르고 또는 개발자 도구를 사용하여 익숙하지 않은 경우 말했다

alert($('#events').html()); 
alert(data); 
if ($('#events').html() != data) { 

가 지금 할 수있는 그들을 사용하기에 좋은 시간. 그들은 미래에 많은 두통을 덜어 줄 것이며 디버깅에있어 경고보다 훨씬 뛰어납니다.

+0

로드 된 페이지에서 만든 html은'
'을 사용하고 jquery.html()은 '
' –

3

어쩌면 그것은 당신의 아약스 요청이 일반 텍스트 문자열을 반환하는 경우 그래서 당신은

$("#events").text() == $(data).text() 
0

(아마도 생성) HTML 대신 .text()을 비교하는 BETER의 (형식의 HTML되지 않음) , 나는 html() 대신 text()을 사용해야한다고 생각합니다.

$(document).ready(function() { 
    var refreshId = setInterval(function() { 
    $.get("ajaxGetEvents.aspx", function (data) { 
    if ($('#events').text() != data) { 
     $('#events').fadeOut('slow', function() { 
     $(this).load('ajaxGetEvents.aspx').fadeIn('slow'); 
     }); 
    } else { 
     alert("item is equal"); 
    } 
    }); 
    }, 5000); 
}); 
0

공백 문자가 확실합니까? 의는 data<span >test</span>입니다 가정하자 :

var data = "<span >test</span>"; 
// Temporarily place your data in a DOMElement to trigger parsing and re-serialization 
alert(data===jQuery('<div>').append(test).html()); 

당신이 false에 결과 위의 코드를 볼 수있다. 그 이유는 단어 span 다음에 공백이 있기 때문입니다. DOM 트리를 구축하면 이러한 공백이 제거되고 html에는 복원 할 수있는 방법이 없습니다.

이 답변은 추측에 불과합니다. 보다 유용하고 타겟이 분명한 답변을 얻으려면 HTML을 게시하십시오.

관련 문제