2012-06-04 26 views
3

獲取文本()將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> 

我想有有數據-G組的ATTR()文本()值。

現在我試過的代碼不工作

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

我已經試過這一個,但我得到的。提問DIV(2002,2010,1985,2013)

$('.question .button a').click(function(){  
    var aText = $(this).parents('.question').text(); 
    return aText; 
}); 
內部的所有文本

那麼我怎樣才能得到DIV與data-g屬性的結果,並且只能得到2010的文本。

感謝

+0

的[jQuery的可能重複如何找到基於一個元素一個數據屬性值?](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']」)。text() ; - 我必須先回到父母身邊才能找到最接近的人。那麼我認爲 – Warface

+0

@Warface你最好使用'closest'而不是'parents'。所以你去了第一個擁有類「.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; 
});​ 

注意

返回aText從該函數返回的值將無處不在您的代碼中,因爲這是一個回調函數,更多的返回從點擊回調的值在jQuery中有不同的含義,這可能會導致意外的行爲。如果你需要的是值傳遞到別的地方,你必須調用另一個函數與此值喜歡

someFunction(aText); 

Working Fiddle

檢查jQuery的has attribute selector