2012-06-04 3 views
3

에 ATTR()에 의해 텍스트()를받는 방법 저는 여기에 데이터 g 세트를 가지고있는 ATTR()에 대한 텍스트() 값을하고 싶은 질문JQuery와

<div class="question"> 
      <div class="button" data-q="1" data-a="1"><a href="javascript:void();">2002</a></div> 
      <div class="button" data-q="1" data-a="2" data-g="true"><a href="javascript:void();">2010</a></div> 
      <div class="button" data-q="1" data-a="3"><a href="javascript:void();">1985</a></div> 
      <div class="button" data-q="1" data-a="4"><a href="javascript:void();">2013</a></div> 
     </div> 

입니다.

지금 내가 노력 코드 내가이 일을 시도했습니다

$('.question .button a').click(function(){  
    var aText = $(this).parents('.question').find('data-g').text(); 
    return aText; 
}); 

작동하지 않습니다하지만 난 .question의 DIV (2002201019852013)

$('.question .button a').click(function(){  
    var aText = $(this).parents('.question').text(); 
    return aText; 
}); 
내부의 모든 텍스트를 가져

그래서 data-g 속성이있는 DIV의 결과 만 가져 와서 2010 년 텍스트 만 가져올 수 있습니다.

감사

+0

가능한 중복 같이이 값을 다른 함수를 호출해야 데이터 속성 값?] (http://stackoverflow.com/questions/4191386/jquery-how-to-find-an-element-based-on-a-data-attribute-value) 및 [찾는 방법 특정 값을 가진 특정 속성을 가진 요소] (http://stackoverflow.com/questions/9307448/how-to-find-an-element-with-a-specific-attribute-that-has-a-specific- 값) 및 [많은 다른 사람] (http://stackoverflow.com/search?q=jquery+find+element+with+certain+attribute). –

답변

5
$('.question .button a').click(function() { 
    var aText = $(this).closest(".question").find("[data-g]").text(); 
         // to check for `true` use ("[data-g='true']") 
    console.log(aText); 
});​ 

DEMO :http://jsfiddle.net/2ny7j/

+0

나는 시도했지만 일하지는 않았지만이 방법이 효과가 있었다. var aText = $ (this) .parents ('. question'). find ("[data-g = 'true']"). ; - 나는 가장 가까운 것을 찾기 위해 먼저 부모에게 돌아 가야한다. 글쎄, 내 생각 엔 – Warface

+0

@Warface'parents' 대신에'closest'를 사용하는 것이 좋습니다. 그래서 당신은 클래스''.question "'을 가진 첫 번째 부모로 가서이 엘리먼트 안에''[data-g] ''속성을 가진 엘리먼트를 찾는다. – VisioN

1

$('.question .button a').click(function(e){ 
    e.preventDefault();  
    var aText = $(this).closest('.question').find("div[data-g]").text(); 
    alert(aText); 
    return aText; 
});​ 

참고

이반환처럼 사용 해당 함수의은 해당 값을 아무 곳이나 반환합니다. 콜백 함수이므로 클릭 콜백에서 반환되는 값이 jQuery에서 다른 의미를 가지므로 예기치 않은 동작이 발생할 수 있습니다. 당신이 다른 곳으로 그 값을 전달해야하는 경우에는 기반으로 요소를 찾는 방법 jQuery를 [의

someFunction(aText); 

Working Fiddle

확인 jQuery를 has attribute selector