2012-03-01 16 views
1

如何傳遞自定義數據到jQuery的事件處理程序,專門從$(this)元素?在HTML5中,我大概可以合法地寫:通過自定義數據從<a>到jQuery來顯示確認消息之前刪除

<a class="delete" href="delete.php?id=5" data-id="5">delete</a>

雖然我還是覺得關於有點awkard。那之前呢?

$(".delete").click(function() { 
    return confirm("Do you really want to delete " + $(this).attr("data-id")); 
}); 

任何最佳實踐?

+1

其實,T hat是一個非常乾淨的方法(儘管它在HTML5之前不是「有效的」,所有瀏覽器都會忽略該屬性)。 – 2012-03-01 01:53:00

+0

那麼人們在HTML5之前做了什麼?他們只是忽略了規範? – Jake 2012-03-01 01:54:46

+1

@Jake差不多。這或者找到其他方式來存儲他們需要的數據(比如隱藏字段)。 – 2012-03-01 01:55:53

回答

1

不需要使用ATTR()

jQuery.data()讀取HTML5使用數據data-屬性()方法,該方法也是在一個元件中存儲數據對象的方法

var id=$(this).data('id'); 

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

就只有被HTML 5,大量僞造的屬性已經被使用多年,瀏覽器通常不理會他們

+0

所以,不與任何數據XXX屬性或僅當文檔是HTML 5這一工作? – Jake 2012-03-01 02:23:55

+0

不一定是html 5 doctype,所以答案是肯定的 – charlietfl 2012-03-01 02:25:23