2011-03-08 47 views
7

在這種情況下,我們在複選框上有一個名爲data-ref的自定義屬性。如何使用Jquery獲得自定義屬性

如何獲得價值。這沒有奏效。 。

this.attr('data-ref'); 

任何想法,

非凡

+1

好吧,如果它被稱爲「約會裁判」,那麼你可能不希望選擇「數據-REF」,所以我希望其中之一是你的問題一個錯字! – 2011-03-08 14:16:17

+0

那麼,你的問題表明該屬性被稱爲「date-ref」(用e),而你的jQuery正在尋找「data-ref」(用a)。我的意思並不是要小氣,而是這個問題? – 2011-03-08 14:16:31

回答

15

你知道,你在你的文字有你的自定義屬性「日期-REF」之間的差異,並在您的jQuery的「數據參考」?

此外,你可能會發現很容易與jQuery對象工作:

$(this).attr('data-ref'); 

JS Fiddle demo

的問題,的確,似乎是你沒有使用jQuery對象:

this.attr('data-ref'); 

Can't work

在另一方面,檢索使用DOM data-*屬性,你必須選項:

this.getAttribute('data-ref'); 

或者:

this.dataset.ref; 

或者:

this.dataset['ref']; 
+0

感謝它爲我工作:) – 2016-11-15 09:17:54

2

$( 「選擇」)ATTR( 「數據REF」); 應該明確地工作。

也許你可以發表你的HTML代碼

1

也許你必須使用:

$(this).attr('data-ref'); 

但這不是很漂亮! 使用jQuery.data()將數據存儲到DOM節點。

存儲:

$('#divid').data('data-ref', 'i am data'); 

獲得:

var data = $('#divid').data('data-ref'); 
+1

使用「.data()」API時,應將HTML5「data-foo」屬性引用爲「foo」。 – Pointy 2011-03-08 14:26:12

1

先前所述的ATTR()是如何獲得自定義屬性。但是,也請注意,如果您使用的是HTML5的數據 - *屬性,你現在也可以利用jQuery的。數據()接取數據:

http://api.jquery.com/data/

0

的實施過程中的問題可能是你使用了這一點。也許它應該是$(this),否則你可能無法正確地綁定。我找不到任何問題..看到http://jsfiddle.net/nvkVy/2/

<a href='api.fatherstorm.com' data-ref='test' data:ref='test' data_ref='test' class='testable'>test me</a> 

<script> 
$(document).ready(function(){ 

    $('.testable').click(function(){ 

     alert('data-ref='+$(this).attr('data-ref')); 
     alert('data:ref='+$(this).attr('data:ref')); 
     alert('data_ref='+$(this).attr('data_ref')); 
     return(false); 
    }); 
}); 
</script> 
相關問題