2014-03-18 1 views
0

에서 다양한 정보를 선택jQuery를 나는 다음과 같은 HTML 함께 일하고 있어요 다른 <tr>

oddrow 다음 evenrow로 교대로이 같은 행 ( row1row2)이있다
<tr class="oddrow"> 
    <td>row1</td> 
     <td style="text-align:center;"> 
      <table> 
       <tbody> 
        <tr> 
         <td width="50%">-1<br>+1</td> 
         <td width="50%">WSH: -110<br>SAC: -110</td> 
        </tr> 
       </tbody> 
      </table> 
     </td> 
     <td style="text-align:center;"> 
      <table> 
       <tbody> 
        <tr> 
         <td width="50%">202.5</td> 
         <td width="50%">o: -110<br>u: -110</td> 
        </tr> 
       </tbody> 
      </table> 
     </td> 
    <td style="text-align:center;">WSH: 0<br>SAC: 0</td> 
</tr> 
<tr class="evenrow"> 
    <td>row2</td> 
     <td style="text-align:center;"> 
      <table> 
       <tbody> 
        <tr> 
         <td width="50%">-1<br>+1</td> 
         <td width="50%">WSH: -110<br>SAC: -110</td> 
        </tr> 
       </tbody> 
      </table> 
     </td> 
     <td style="text-align:center;"> 
      <table> 
       <tbody> 
        <tr> 
         <td width="50%">202.5</td> 
         <td width="50%">o: -110<br>u: -110</td> 
        </tr> 
       </tbody> 
      </table> 
     </td> 
    <td style="text-align:center;">WSH: 0<br>SAC: 0</td> 
    <!-- The above line is the one I need. --!> 
</tr> 

. JavaScript/jQuery 코드에서 전체 HTML을 문자열로 사용합니다. 또한 두 개의 세 문자 약어에 대한 정보가 있습니다.이 예제에서는 WSHSAC입니다. 내가 원하는 것은 row2 행의 세 번째 입니다. 페이지에 row1row2의 테이블이 여러 개 있다는 것을 지적해야합니다. 따라서 일반적인 선택기가 필요합니다. 내가 해왔 던 것은 모든 행의 모든 ​​데이터를 잡아 거기에서 파싱하는 것뿐입니다. 그러나 데이터의 불일치로 인해 더 어려워졌습니다. 신속하고 더러운 jQuery가 필요한 데이터를 알려줄 것입니까?

나는 $("tr td:contains(" + abbrev + ") td:contains('row2')").text();과 같은 것을 생각하고 있었지만 그것을 얻지는 못했다.

아무도 도와 줄 수 있습니까? 당신의 선택에

+0

스크립트에 HTML이 있다면 일부 클래스로 정리하고 대상을 지정하십시오. 스타일 속성으로 선택하면 길 아래의 실패에 대한 처방처럼 들립니다. 스타일은 어쨌든 인라인되지 않아야합니다. – isherwood

답변

0

계층 구조는 약자와 td의 당신은 또한 당신의 abbrev 변수 주위에 아포스트로피를 확인해야합니다 "ROW2"

의 텍스트로 td s의 조상 아니다, 잘못된 것입니다.

당신은 시도 할 수

$("tr td:contains('row2') td:contains('" + abbrev + "')").text() 

가능성은 대신 의미 클래스를 추가 할 수 있습니까? 이러한 종류의 셀렉터는 유지 관리가 까다 롭습니다.

+0

예, 그것은 불쾌한 것이지만 그것은 단지 HTML입니다. 웹 페이지에서 내려 왔습니다. 클래스를 파싱하고 추가하는 효율적인 방법이 있습니까? – aquemini

+0

고마워, 나는 이것을 시도 할 것이다 ... 나는 적어도 하나 이상의 에 그것의 약자가 있기 때문에 이것이 행 목록 (또는 적어도 첫 번째 행)을 차지할 것이라고 생각할 것이다. 어쩌면 .last()를 사용할 수 있습니까? – aquemini

+0

여기 피들 (fiddle)이 있는데, 제대로 작동하지 않습니다 ... http://jsfiddle.net/y2TL8/ – aquemini

관련 문제