今天在使用data获取属性并且赋值时遇到一个小问题,写下来防止以后再跳坑。
在使用jQuery获取自定义属性值时,我们习惯用
$(selector).attr('data-value');
jQuery赋值:
$(selector).attr('data-value','123456');
而data的取值:
$(selector).data('value');
data赋值:
$(selector).data('value','123456');
值得注意的是data,如果决定使用data就不要再使用attr,交叉混用是拿不出值的。因为data是单项绑定,返回的数据不会实时更新到dom。
如果真的需要更新dom上的自定义属性值,那只能把data取出的值放入attr中,感觉很麻烦不是吗?
另一个小坑,如果dom中赋值是一个字符串true,使用data取出的却是boolean true。