2014-02-05 75 views
0

我有兩個跨度和我有一個自定義屬性。我想通過點擊<a>。在這裏得到它的價值是我的HTML在jquery中獲取自定義屬性值

<span data="<?php echo $key; ?>"><?php echo $answer['vote']; ?></span> 
<a href="#" class="tup" rel="<?php echo $answer['id']; ?>"><span class="glyphicon glyphicon-thumbs-up design-thumbs" id="thumbs-up-ico"></span></a> 

jQuery的

$(document).ready(function() {      
$(".tup").click(function(event) { 
    event.preventDefault(); 
    var key = $('span').attr('data'); 
    alert(key); 
}); 

在這裏,我得到alert.Where不確定的是我的錯誤?謝謝

回答

5

你最likley越來越不確定的,因爲你沒有選擇想要的跨度,使用.prev()來選擇它

$(".tup").click(function(event) { 
    event.preventDefault(); 
    var key = $(this).prev().attr('data'); 
    //    ^^^^^^^^ 
    alert(key); 
}); 
+1

感謝Anton。這是解決方案 – andDev

+0

@andDev,因爲這是正確的答案,然後點擊灰色的勾號使其變成綠色:) – zeeks

3

你需要使用data-key(或其他值,data-id,data-attr ....)並在jQuery中檢索它.data(key)
您需要獲取以前的元素prev() 試試這個:
HTML

<span data-key="<?php echo $key; ?>"><?php echo $answer['vote']; ?></span> 

jQuery的

$(document).ready(function() {      
$(".tup").click(function(event) { 
    event.preventDefault(); 
    var key = $('span').prev().data('key'); 
    alert(key); 
}); 
0

以這種方式存儲數據無效。 您可以使用html5 data- * propery作爲自定義屬性,例如:

<!DOCTYPE html> 
... 
<span data-key="some data">value</span> 
<script> 
var key = $("span").data("key"); 
</script>