2010-06-21 2 views
0

사업부 내부 HTML을 얻는 방법 : 내가 포틀릿 헤더 부분에있는 버튼을 클릭 한 후 내가이 경우, HTML을 얻는 방법JQuery와 -이 HTML이

<div class="portlet-header"> 
    Company Information ... <button> some button here </button> 
</div> 
<div class="portlet-content"> 
    <div class="content_regular"> 
     <table style=" width:100%; height:100%;"> 
      ...content 
     </table> 
    </div> 
</div> 

를 테이블 태그 ?

헤더에 텍스트를 가져 오기 위해이 jquery 코드가 있습니다 : $(this).parent().text(); 위와 같이 "content_regular"클래스에서 html을 검색하는 데 아무 것도 없습니다.

당신의 지혜가 이것으로 나를 도울 수 있기를 바랍니다. 나는 이것을 다른 사람들에게 아주 쉽게 알지만 jquery에 익숙하지 않다.

감사

+0

$ ('. content_regular'). html로() 정말 작동하지만 문제는 여기 위의 코드는 위젯 것입니다. 같은 페이지에 적어도 4 개가 있습니다. $ ('. content_regular') .html()을 사용하면 첫 번째 항목 만 반환됩니다. –

답변

3

사용 .next() 다음과 같이 내용을 얻을 수 .text()보다는 .html()를 사용 .portlet-header.portlet-content까지 얻을 : div의 사이에 뭔가 다른 요소 등이있을 수 있습니다 경우

$(".portlet-header").click(function() { 
    var html = $(this).next(".portlet-content").html(); 
}); 

대신 .nextAll()를 사용 이 같은 : .nextAll(".portlet-content:first")

+0

@mcxiand 이것은 상대 헤더를 기반으로 여러 위젯과 선택 사항을 제공하는 것이 가장 적합합니다. 클릭 할 때마다 모두 필요하면 .each를 사용하여 배열에 넣을 수도 있습니다. –

+0

나는 이것이 가장 감각이 있다는 데 동의하지만, 작동하지 않는 것 같다. 내 코드는 다음과 같습니다. $ (this) .parent(). next(). nextAll (". contentwithscroll_regular : first") .html(); -i 버튼이 포틀릿 머리글에 있기 때문에 -i가 부모를 호출해야합니다. - 다음으로 포틀릿 헤더로 이동하여 포틀릿 컨텐트로 이동 - html()을 호출하기 전에 포틀릿 컨텐트에서 내부 div content_regular로 이동하는 방법을 혼동합니다. –

+0

그것을 얻었습니다! :) $ (this) .parent(). next(). children (".contentwithscroll_regular") .html(); –

3

첫째, html() 기능을 대신 text() 기능을 사용합니다. 둘째, 셀렉터가 .portlet-content .content_regular table과 같은 올바른 노드를 가리 키도록하십시오. 나는이 두 사람의 결합을 스스로하도록 내버려 둘 것이다.

+0

예, 사용할 수는 있지만, 포틀릿 머리글에서 content_regular div로 이동하는 방법에 대해 알고 싶습니다. 내가 필요로하는 것은 content_regular div 아래의 hmtl이다. –

+0

내가 말했던 것처럼, 셀렉터를 변경하고 올바른 노드를 가리 키도록한다. 쉬운 방법은 클래스 이름 자체를 사용하는 것입니다. 그러나 클래스가 여러 번 사용되는 경우 클릭 한 대상에서 트래버스해야합니다. 이 경우 대상 ($ (this))으로 시작하고 한 레벨 위로 이동 (portlet-header), 다음 형제 (portlet-content)를 가져 와서 테이블을 얻으십시오. –

+0

@Peter - 넘어서 가야합니다. 선택자는 여기에서 일하지 않을 것이며, 그들은 다른 개념입니다. –