jQuery中attr和data取值赋值的区别

1:data取值跟attr取值第一次取值流程都是相同的都是去dom中获得值 获取的值是相同的

<button data-type="0" onclick="attr(this)" id="btn">jQuery中attr和data取值赋值的区别</button>
<script type="text/javascript">
	//使用 data 输出初始的值
	console.log($("#btn").data("type"));
	console.log($("#btn").attr("data-type"));
</script>

总结:data多了一个操作那就是把该对象保存到内存中,也就是如果再取值的话,不是从dom中获得而是从内存中读取。就是在获得值之前重新修改了dome的值了,那么data读到的还是之前的数据

2:使用attr改变值

<button data-type="0" onclick="attr(this)" id="btn">jQuery中attr和data取值赋值的区别</button>
<script type="text/javascript">
	//点击按钮 使用attr改变值
	function attr(obj){
		$(obj).attr("data-type","1");
		console.log($(obj).data("type")); //data 获取的值是原始的值 
		console.log($(obj).attr("data-type"));//attr 获取的值是改变之后的值
	}
</script>

总结:大多时候还是使用attr取值赋值比较好一点 如果是不知道data和attr之间的区别的话 可能是对的但是不知道其中的原理导致一直在想什么地方错

发布了72 篇原创文章 · 获赞 3 · 访问量 2万+

猜你喜欢

转载自blog.csdn.net/tanqingfu1/article/details/103347121