2012-10-11 3 views
1

원격 페이지에서 file.xml이라는 li 요소의 수를 계산하려고합니다. 내가 도대체 ​​뭘 잘못하고있는 겁니까? 미안하지만 쉽게 이해할 수는 없습니다.이 jquery는 다른 페이지의 요소를 어떻게 계산하지 않습니까?

자바 스크립트 :

<script> 
$(document).ready(function(){ 
$.get('/file.xml', function(data) 
{ 
var allslides = $(data).find('li'), 
var slidenumber = $allslides.length; 
alert(slidenumber); 
}); 
}); 
</script> 

HTML (file.xml의 내용) : 또한

$.ajax({ 
    url  : '/file.xml', 
    dataType : 'xml', 
    success : function (data) { 
     var $allslides = $(data).find('li'), 
      slidenumber = $allslides.length; 
     alert(slidenumber); 
    }, 
    error : function() { /* don't forget to handle errors */ } 
}); 

내가주의 :

<body> 
    <li><h2>Headline1</h2><span class="desctext">Description</span></li> 
    <li><h2>Headline2</h2><span class="desctext">Description</span></li> 
    <li><h2>Headline3</h2><span class="desctext">Description</span></li> 
</body> 

답변

2

시도는 XML 파일을로드하는 것을 지정 변수 이름이 실제로 일치하지 않는다면, 먼저 allslides을 사용하고를 사용하십시오.. 예제 코드에서 변수 이름을 정규화했습니다.

XML이 아닌 HTML을 반환하는 것처럼 보입니다. 어떤 것이 작동할까요? dataType : 'xml'에서 dataType : 'html'으로 변경하십시오 (기본값은 html이므로 옵션을 비워 두십시오). 일반적으로 jQuery가 스스로 추측하는 대신 내용 유형을 지정하는 것이 좋습니다. $.ajax()에 대한

문서 :이로 http://api.jquery.com/jquery.ajax/

+0

나는 dataType와'지정 확실하지 않다, XML되지 않습니다 : 'xml'' 도움이됩니다. 그러나 변수 이름을 수정하는 것은 확실합니다! –

관련 문제