2009-11-30 7 views
1

나는 그것을 클릭하여 div의 내용에 액세스하려고 오랫동안 노력하고 있습니다.jQuery를 사용하여 중첩 된 div 내부 텍스트에 액세스하는 방법

구조는 다음과 같이이다 :

$(".note").click(function(){ 
    alert(this+".headline").text(); 
    alert(this+".content").text(); 
}); 

나는 누군가가이 문제를 도와 줄 수 있기를 바랍니다 :

<div class="note" id="DYNAMIC_ID"> 
    <div class="headline">HEADLINE</div> 
    <div class="content">Content</div> 
</div> 

나는 이런 식으로 뭔가를해야합니다.

답변

2

선택기의 두 번째 매개 변수는 컨텍스트입니다. 이 경우 클릭 한 컨텍스트를 컨텍스트로 지정해야하므로 this 키워드를 컨텍스트로 사용합니다.

var headline = $(this).find(".headline").text(); 
+0

많은 정보가 필요한 해결책입니다. – Bernhard

+0

Bernhard, 반갑습니다. 내 답변의 왼쪽에있는 체크 표시를 클릭하여 대답을 수락 할 수 있습니다. – Sampson

0

어쩌면이 해결책이 될 수 있습니다 :

$("div.note").click(function(){ 
    var headline = $(".headline", this).text(); 
    alert(headline); 
}); 

또한 너무 .find() 방법을 사용할 수 있습니다

$(".note").click(function(){ 
alert(".headline").html(); 
alert(".content").html(); 

});

또는

$(".note").click(function(){ 
alert("#DYNAMIC_ID").html(); 

});

+0

이것은 모두 잘못되었습니다. 'Alert'는 .html() 메소드를 가지고 있지 않습니다. 나는 당신이 당신의 문법의 대부분이 빠져있는 선택 자에 붙어있는 것을 의미한다고 생각한다. 선택기가 alert 명령 안에 직접 들어 가지 않습니다. jQuery 참조가 누락되어있어 원하는 제목이없는 문맥이 없습니다. – Sampson

관련 문제