使用jQuery“this”的HTML5数据属性

时间:2013-06-24 02:43:43

标签: javascript jquery html5

仅搜索Google,为我提供了jQuery的.data()函数示例。

然而,我的问题是使用jQuery的“this”,因此:

$('#opener').live('click', function() {
var x = this.name;
var y = this.title;

它取自<a style='cursor:pointer' id='opener' name='$x' title='$y'>的值,它包含PHP变量,但在我的问题中并不重要。

现在,让我们说,我想摆脱这样一种hacky尝试,将额外的数据存储在HTML元素中,并使用data-attribute将其正确存储在HTML5中。所以,锚点看起来像:

<a style='cursor:pointer' id='opener' data-x='$x' data-y='$y'>

那么我如何能够像上面那样在jQuery中使用“this”并获取它来获取数据?我尝试过this.data('x')this.data('y'),但这不起作用,这就是我在这个问题上找到的所有内容。

1 个答案:

答案 0 :(得分:10)

您需要使用

$(this).data('x')

在回调方法中,this引用dom对象,但.data()方法是在元素的jQuery对象包装器中定义的。所以你需要使用$(this)用jQuery包装dom元素。