原生js中,
var btn=document.getElementById("btn"); btn.cur=1;
然后获取btn的index属性是可以获取到的。
jquery中:
var btn = $("#btn"); btn.cur = 1;
最后发现获取到的cur是undefined来的。
请问为什么呢?
这样可以直接设置属性的吗?那么html5的data-还有什么用,直接这样用不就好了?
jquery and js bind custom attributes? -PHP Chinese website Q&A-Bind custom attributes between jquery and js? -PHP Chinese website Q&A
Let’s take a look and learn.
因为btn.cur=1是在元素对象本身上添加了属性。而var btn = $("#btn")这样获得的是一个jQuery对象。其中的存储形式类似于
{ 0:document.getElementById('btn') }
我们可以使用jQuery对象的get方法获得原生元素var btn = $('#btn').get(0),这样就可以得到原生元素
jquery and js bind custom attributes? -PHP Chinese website Q&A-Bind custom attributes between jquery and js? -PHP Chinese website Q&A
Let’s take a look and learn.
因为btn.cur=1是在元素对象本身上添加了属性。
而var btn = $("#btn")这样获得的是一个jQuery对象。其中的存储形式类似于
我们可以使用jQuery对象的get方法获得原生元素
var btn = $('#btn').get(0),这样就可以得到原生元素