2013-07-09 1 views
1

모든 href 요소를 반복하고 div Foo에서 시작하는 href에서 텍스트를 가져 오는 방법은 무엇입니까? 이 언어는 저에게 견과류를 운전 Jrefery를 사용하여 div에서 시작하는 li ul의 href 태그를 반복합니다.

<div id="Foo"> 
    <div class="Moo"> 
     <ul> 
     <li> 
      <a href="http://www.test.com/b5">Hello</a> 
     </li> 
     <li> 
      <a href="http://www.test.com/b6">World</a> 
     </li> 
     <li> 
      <a href="http://www.test.com/b7">Acc</a> 
     </li> 
     <li> 
      <a href="http://www.test.com/b8">Sale</a> 
     </li> 
     </ul> 
    </div> 
</div> 

아아 아아 도대체

는 기본적으로 나는 등, 값을 반복 안녕하세요, 세계,도 Acc, 판매하고 싶습니다. 어떻게 이런 일이 안되니? 기본적으로 모든 객체를 가리키며 루프를 말하고 있습니다.

$('#Foo').find('.Moo ul li').find('a').each(function(){ 
    alert($(this).text); 
});  

이 방법은 작동하지 않습니다.

$('#Foo.Moo ul li a').each(function(){ 
    alert($(this).text); 
});  

아니요. 태그의 값 대신 자바 스크립트가 계속 반환됩니다. 그것은 마음에 들지 .text() 같은 것이

$('#Foo').find('.Moo ul li').find('a').each(function(){ 
    alert($(this).text()); 
});  

를했습니다 코드에서

$("#Foo .Moo ul li a").each(function(){ 
    alert($(this).text()); 
}); 

처럼

('#Foo .Moo ul li a').each(function(){ 
    alert($(this).text); 
}); 
+0

는'()'함수 이름 다음에 함수를 호출합니다. 이것은 기본 프로그래밍 구문입니다. – Barmar

답변

3

시도 .text 그리고 적절한 당신의 HTML

<div id="Foo"> 
<div class="Moo"> 
    <ul> 
     <li> 
     <a href="http://www.test.com/b5">Hello</a> 
     <ul>     
      <li> 
      <a href="http://www.test.com/b6">World</a> 
      </li> 
      <ul> 
       <li> 
       <a href="http://www.test.com/b7">Acc</a> 
       </li> 
       <li> 
       <a href="http://www.test.com/b8">Sale</a> 
       </li> 
      </ul> 
      </ul> 
      </li> 
     </ul> 
     </div> 
    </div> 
+2

그의 html이 유효하지 않습니다. 당신은 해결책이 도움이되지 않습니다 –

+0

남자 나는 정말이 물건을 해결 슈퍼 빠른 편집기가 필요합니다. Netbeans는 너무 오래 열립니다. – bentley5

+0

yes 편집했습니다 .... pls 내 ans를 참조하십시오. – Gautam3164

1

같은 당신의 HTML 유효하지 않음

<div id="Foo"> 
    <div class="Moo"> 
     <ul> 
      <li> 
      <a href="http://www.test.com/b5">Hello</a> 
      <ul> 
       </li> 
       <li> 
       <a href="http://www.test.com/b6">World</a> 
       <ul> 
        </li> 
        <li> 
        <a href="http://www.test.com/b7">Acc</a> 
        </li> 
        <li> 
        <a href="http://www.test.com/b8">Sale</a> 
        </li> 
       </ul> 
      </div> 
     </div> 

이것은 원인 일 수 있습니다.

수정 한 다음 다시 요청하십시오.

$('#Foo .Moo ul li a').each(function(){ 
    alert($(this).text()); 
}); 
+0

하지만 JS는 여전히 잘못되었습니다. 텍스트는 그 속성이되는 기능이 아닙니다. – mohkhan

+0

@ mohkhan 그래. (그게 너무 빨리 붙여 넣을 때 일어나는 일이야) :) –

0

당신 HTML이 유효하므로이 나던 일 :

당신은이 작업을 수행 할 수 있습니다. 중간에 원치 않는 <ul>를 제거 : 그런 다음 배열에서 저장 위치를 ​​<a> 반복하고 텍스트를 얻을 수 map()을 사용할 수

<div id="Foo"> 
    <div class="Moo"> 
     <ul> 
      <li> 
<a href="http://www.test.com/b5">Hello</a> 

      </li> 
      <li> 
<a href="http://www.test.com/b6">World</a> 

      </li> 
      <li> 
<a href="http://www.test.com/b7">Acc</a> 

      </li> 
      <li> 
<a href="http://www.test.com/b8">Sale</a> 

      </li> 
     </ul> 
    </div> 
</div> 

.

var aText = $("#Foo a").map(function() { 
    return this.innerHTML; 
}).get(); 
alert(JSON.stringify(aText)); //not needed. You could access that text like this : aText[i] where i = 0|1|2 

데모 : 당신은 그냥 놓치고 http://jsfiddle.net/hungerpain/WG2Hg/

+0

Json.stringify ... 오 .......... –

+0

그냥 경고창에 보여 주려고하는 .. – krishgopinath

관련 문제