2010-06-14 5 views
3

테이블이있어 특정 행에 특정 열이 필요합니다.JQuery로 HTML 테이블 검색

<tr></tr> 
<tr> 
    <td></td> 
    <td></td> 
    <td class="important_column"><a href="/bla/blah/link">IMPORTANT INFO</a></td> 
    <td></td> 
    <td class="need_link_here"><a href="/I/WANT/THIS/LINK/">link</a></td> 
</tr> 
<tr></tr> 

"important_column"의 링크 텍스트가 찾고자하는 것과 같으면
"need link_here"열에 링크 텍스트를 가져옵니다. 텍스트 사이 <a></a>
JQuery에서하는 방법?

+0

부 : 당신과 함께 링크에서 텍스트를 검색 할 수 있습니다 이 방법 : http://stackoverflow.com/questions/926580/find-text-string-using-jquery –

+0

나는 '링크 텍스트'라는 단어가 여기에 혼란을 일으킬 것이라고 생각한다. href 속성이나 텍스트가 안에 있습니까? – dzida

+0

죄송합니다. 혼란 스럽다면 죄송합니다. 중요한 텍스트 "important_column"의 링크 텍스트가 찾고있는 것과 같지만 클래스를 살펴보면 heffaklump

답변

4

당신은 요소가 특정 텍스트가 포함되어 있는지 확인하는 :contains()를 사용할 수 있습니다

$("table td:contains('IMPORTANT INFO')") 
    .next().next() 
    .children("a"); 

예 - 솔루션의 http://jsfiddle.net/Kkywt/

+0

+1 이것은 지금까지 유일한 상황으로 important_column 클래스와 need_link_here 클래스를 사용하지 않는 유일한 답변이기 때문에 실제 상황에서는 의심 스럽습니다. –

+0

젠장, 나 자신이 틀렸어, important_column * is * used. –

+2

@snowlord : 그렇지만 그렇지 않아도됩니다. 여기에있는 코드는 그것 없이도 잘 작동합니다.사실, 방금 대답과 예제를 편집하여 +1이 정당화 된 것처럼 느낄 수있었습니다 ;-) –

0
jQuery('.need_link_here a', 
    jQuery('.important_column a:contains(IMPORTANT INFO)').parent() 
).attr('href'); 
+0

OP를 썼습니다. –

+1

끔찍한 jQuery 스타일, IMO – jAndy

+0

@snowlord : 좋은 소식. 그것을 정정했다. – Quentin

1
if ($("table tr td.important_column a[href=/bla/blah/link]").length) { 
    var link = $("table tr td.need_link_here a").attr("href"); 
} 

변화

$("td.need_link_here a", $("table tr td.important_column a[href=/bla/blah/link]").closest(tr)).attr("href"); 
0

당신은 발견 된 항목의 형제 자매를 얻기 위해 다음 방법을 사용할 수 있습니다

$('.important_column').next().next().attr("href") 

이 후 2 TD 요소의 HREF를 선택합니다 하나는 class = "important_column"

+0

1. 클래스가 중요하지 않다고 가정합니다. 2. 텍스트를 확인하지 않습니다. 3. TD 요소의 href 속성 값을 얻으려고합니다. – Quentin

+0

@David Dorward : "need_link_here"가 실제 페이지에 나타나지 않는다는 것이 확실하지 않습니까? 그것이 있었다면, 그것은 아주 사소 할 것입니다 ... –

+0

@snowlord : 아니오, 그것은 명백하지 않습니다. 질문은 꽤 많은 해석에 열려 있습니다. "important_column"클래스가 있을지는 명확하지 않습니다. – Quentin

1

조각 o fjs taht가 트릭을 수행합니다.

if($('.important_column a').text() == 'SOME TEXT YOU WANT') 
{ 
    $('.important_column a').attr('href', $('.need_link_here a').attr('href')); 
} 
1

이와 비슷한 기능이 있습니까?

$(function() { 
    column_text = $(".important_column a").text(); 
    if(column_text == "IMPORTANT INFO") { 
    link_href = $(".need_link_here a").attr("href"); 
    alert(link_href); 
    } 
}); 

체크 아웃 this working demo.

1

OP가 원하는 것이 분명하지 않습니다. 이거 가깝 니?

$('#myTable tr').each(function() 
{ 
    var $tr = $(this); 
    if($tr.find('td.important_column').text() === 'IMPORTANT INFO') 
    { 
     alert($tr.find('td.need_link_here > a').attr('href')) 
    } 
});