2012-07-10 4 views
0

.each()가 특정 텍스트/html을 선택하지 않는 이상한 문제가 있습니다.

<ul class="errors"> 
    <li class="title">Please check the details you entered and try again.</li> 
    <li id="title">Please supply a title</li> 
    <li id="typeID">Please select a type</li> 
    <li id="availID">Please select the availablilty</li> 
    <li id="city">Please supply a valid city</li> 
    <li id="postcode">Please supply a valid postcode</li> 
    <li id="contactNum">Please supply a valid contact number</li> 
    <li id="description">Please enter a description</li> 
</ul> 

을 그리고 대한 jQuery :

나는이

$('.errors').children('^[id]').each(function(index){ 
    alert(index + ': ' + $(this).text()); 
}); 

이제 문제는, JQuery와는 "설명"목록 항목의 텍스트/HTML을 선택하지 않습니다. 무슨 일이 있어도.

왜 이런 일이 일어날 지 알고 싶습니까?

감사합니다, TMP

UPDATE : 가 나는 문제를 찾기 위해 관리했습니다. 동일한 ID를 가진 페이지에 다른 요소가 있다는 사실로 인해 작업이 중단되었습니다. 이상하게도, 다른 모든 목록 항목은 동일하지만 정상적으로 작동합니다. 어쩌면 버그일까요? 당신은 this 후 닫는 괄호를 놓치고

alert(index + ': ' + $(this).text()); 

건배, TMP

+0

나는'^ [ID가]의'[유효한 선택] (HTTP 아닌 경우 확신 :

고정이 오타로 편집

, 내가 예상 결과를 얻을 // API .jquery.com/category/selectors /). 그것이 무엇을 정의합니까? – pimvdb

+2

http://jsfiddle.net/pbysh/cd59c/ - 내가 기대하는 모든 경고를 받고 있습니다. –

+0

@pimvdb : 필자가 아는 한 유효한 선택자가 아니지만 '[id]'와 동일한 결과를 생성합니다. –

답변

5
alert(index + ': ' + $(this.text()); 

이 있어야한다. http://jsfiddle.net/xQyAt/

+1

여기 게시 할 때 오해했습니다. 다른 모든 목록 항목은 올바르게 읽혀집니다. 감사. – TMPilot