nba*_*bar 3 javascript jquery html5 html5-data
当我jQuery.data用来更改值时,DOM中的属性不会更改.但我喜欢当DOM中的属性发生变化时,它更容易调试.
那么可以$().attr("data-value")用来改变数据属性吗?
只是一点点小提示,表明混合$().attr并$().data不能很好地协同工作:
该data函数管理jQuery提供的元素的数据缓存,而不是data-*属性.之间的唯一互连data功能和data-*属性是data将初始化它从信息缓存data-*,如果你要求一个相匹配的关键属性data-*的属性.
使用data到设定数据将永远不会更新data-*属性.
它的优良使用attr更新的属性,你只需要保持一致:既可以使用属性(通过attr)两者的获取和设置,或者使用data两个获取和设置,因为他们管理不同的东西.
使用attr意味着您实际上正在更新元素上的属性,这意味着您可以使用您在选择器等中设置的值(CSS和jQuery),但也意味着您只能获取和设置字符串值.
使用data意味着你只更新数据缓存,而不是元素,这意味着你不能在选择器中使用这些值等(因为它们不存储在DOM中的任何位置),但意味着你可以获得并设置完整JavaScript数据类型的范围.