1. 程式人生 > >關於jQuery中的attr和data問題

關於jQuery中的attr和data問題

字符串 lec 我們 更新 自定義屬性 val cto sele 今天

今天在使用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。

關於jQuery中的attr和data問題