1、关于元素的属性值,可以用attr取值,如果是data开头的属性,如:data-id,则也可以使用data("id"),获取属性值。
<p class="test-p1" data-test1="data">测试data取值和attr取值</p>
console.log("data1:"+$(".test-p1").data("test1"));//data
console.log("attr1:"+$(".test-p1").attr("data-test1"));//data
2、但是,如果元素是在js里面设置的属性值,就会出现两种情况:
1)、使用attr设置属性值,使用attr,data都可以获取值
<p class="test-p1">测试data取值和attr取值</p>
$(".test-p1").attr("data-test2","data2"); console.log("data3:"+$(".test-p1").data("test2"));//data2 console.log("attr3:"+$(".test-p1").attr("data-test2"));//data2
2)、使用data设置属性,只能使用data获取值,attr会提示undefined
<p class="test-p1">测试data取值和attr取值</p>
$(".test-p1").data("test3","data3"); console.log("data3:"+$(".test-p1").data("test3"));//data3 console.log("attr3:"+$(".test-p1").attr("data-test3"));//undefined