jq动态设置、获取自定义属性data-elem失效问题
warning:
这篇文章距离上次修改已过454天,其中的内容可能已经有所变动。
解释:
在使用jQuery设置或获取自定义属性时,如果使用data-*前缀的属性,应当使用.data()方法而不是.attr()方法。.data()方法会将数据存储在jQuery的缓存中,而.attr()方法会直接操作DOM元素的属性。如果在.attr()方法中使用data-*属性,可能会遇到设置无效或获取不正确的问题。
解决方法:
确保在设置或获取data-*属性时,统一使用.data()方法。
设置自定义属性data-elem的值:
$('#yourElementId').data('elem', 'value');获取自定义属性data-elem的值:
var elemValue = $('#yourElementId').data('elem');如果你必须使用.attr()方法来操作data-*属性,请确保符合以下格式:
设置属性:
$('#yourElementId').attr('data-elem', 'value');获取属性:
var elemValue = $('#yourElementId').attr('data-elem');总结:
- 使用
.data()方法操作data-*属性可以保证数据的一致性和正确性。 - 如果需要通过DOM操作真实的属性,应当使用
.attr()方法。
评论已关闭