php html标签自定义属性,浅谈JS读取DOM对象(标签)的自定义属性
发布日期:2021-06-24 16:13:48 浏览次数:5 分类:技术文章

本文共 1007 字,大约阅读时间需要 3 分钟。

DOM对象对于js来说,是个很基础的元素,我们写js一般来说,都一定会对它进行操作。我们可以很方便地给它加上自定义的属性,比如:

var test = document.getElementById("test");

test.adang = "adang";

alert(test.adang);

我们会发现,已经给这个id为test的DOM元素添加了一个叫做adang的属性了,然后在js中,可以调用这个属性。我在写js的时候经常用到这种方法,可以很方便地对某个dom对象添加一些特殊的数据,感觉DOM对象就像一个很好用的容器,可以放一堆数据进去。

进一步想到一个问题,这些属性可以在js中添加,那么是否可以像flex一样,在标签中添加呢?事实上,像id啊,src啊这样的属性,都是可以在 js中添加,也可以在标签上添加的,两种方式js都可以获取数据。这里要说一点,class比较特殊,标签中用的是class,在js中调用却要用 className才行。

像id啊,title,src此类html中支持的属性,可以在标签中设置,然后js访问。那么,如果是像我上面例子中的adang这样自定义的属性呢?DOM可以访问吗?做了个实验,如下:

new document

window.οnlοad=function(){

var test = document.getElementById("test");

test.adang = "adang";

alert(test.adang);

}

用js来扩展自定义属性,结果很正常地输出了我们想要的结果,IE和FF下都正常。

然后我又写了第二段代码,如下:

new document

window.οnlοad=function(){

var test = document.getElementById("test");

alert(test.adang);

}

这次把扩展的属性写到了html标签上。IE下正常输出adang,FF下输出的是undefined。

但是很奇怪的,如果使用DOM提供的方法getAttribute(""),无论是在IE下,还是FF下,都可以得到我们写在标签中的自定义属性。

所以,为了兼容,我们要使用getAttribute("")来获取自定义的标签属性的值。

相关标签:JS

本文原创发布php中文网,转载请注明出处,感谢您的尊重!

转载地址:https://blog.csdn.net/weixin_33744799/article/details/115892248 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!

上一篇:如何使用matlab的siso,利用Matlab内建程式SISODesignTool完成系统分析(Matlab61)开启.PDF...
下一篇:matlab里inline定义矩阵,Matlab中的inline函数_matlab中inline函数

发表评论

最新留言

感谢大佬
[***.8.128.20]2024年04月06日 05时36分21秒