仅搜索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')
,但这不起作用,这就是我在这个问题上找到的所有内容。
答案 0 :(得分:10)
您需要使用
$(this).data('x')
在回调方法中,this
引用dom对象,但.data()方法是在元素的jQuery对象包装器中定义的。所以你需要使用$(this)
用jQuery包装dom元素。