关于setAttribute和getAttribute的问题

关于setAttribute和getAttribute的问题

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
<script>
 window.onload = function () {
 var btn = document.getElementById('btn1');
 btn.abc = 123;
 alert(btn.abc);
        // btn.setAttribute('abc','123');
       // alert(btn.getAttribute('abc'));
 }
</script>
<input type="button" value="button" id="btn1">
</body>
</html>

老师我在设置自定义属性的时候,尝试直接用 . 属性(btn.abc = 123)设置,可是代码中并没有设置到,但是之后却可以用btn.abc获取出属性,这个是为什么呢,老师不是说过这种方法不可以吗?而attribute这种方法既可以设置自定义属性,又可以获取到,我想问问这种方法与Attribute的方法又有什么区别呢。

正在回答

登陆购买课程后可参与讨论,去登陆

2回答

第一种btn.abc是把当前元素当做一个普通对象,为其设置一个属性名(和页面中HTML没有关系)

第二种setAttribute是把元素当做特殊元素来处理,设置的自定义属性是和页面结构中的DOM元素映射在一起的。

希望能解答你的疑惑 ,祝学习愉快 !

一只大懒喵 2018-05-22 01:56:37

我也想知道

问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
前端小白入门系列课程
  • 参与学习           人
  • 提交作业       11218    份
  • 解答问题       36713    个

从一个不会编程的小白到一个老司机是需要过程的,首先得入门,学习基础知识,然后才能进阶,最后再到精通,本专题是你走进前端世界的不二选择!

了解课程
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师