为了账号安全,请及时绑定邮箱和手机立即绑定

如何查看标签元素对象中属性的属性描述符?

如何查看标签元素对象中属性的属性描述符?

凤凰求蛊 2019-03-20 13:14:34
在页面中某一标签,例如div(id="test"),获取它的js对象后,var obj = document.getElementById("test"),我想查看它某个属性的属性描述符,但是返回是undefined,在此请教各位前辈。Object.getOwnpropertyDescriptor(obj, "attributes"); 返回的是undefined
查看完整描述

1 回答

?
慕少森

TA贡献2019条经验 获得超9个赞

测试了一下,发现确实是返回undefined,下面是我的思维过程:

  1. Object.getOwnPropertyDescriptor从方法名可以看出来,这个属性必须是自有属性,而不是原型链上的属性,那么是不是attributes并不是dom元素的自有属性呢?

  2. 使用Object.hasOwnProperty验证一下,果然返回了false。既然不是自有属性,那么Object.getOwnPropertyDescriptor也就返回undefined了。但是为什么不是自有属性呢?

  3. 使用Object.hasOwnPropertyobj原型链上的对象测试了一遍,都是返回false

  4. 结论:可能是dom对象做了特殊处理。那么我还是想看这个属性描述符怎么办呢?

  5. 既然attributes不是obj的自有属性,那么我自己创建一个js对象,然后设置attributes属性是obj.attributes应该就行了吧?

  6. 果然,出来了。验证截图如下:

https://img1.sycdn.imooc.com//5ca5ad700001415e08000225.jpg

查看完整回答
反对 回复 2019-04-04
  • 1 回答
  • 0 关注
  • 510 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信