关于html自定义属性

  今天在研究一个ssh项目时发现一个问题,就是html里面自定义属性问题:

我在js中获取自定义属性是这样  $(obj).myid  来获取内容另一个id值的,然后发现在谷歌下怎么运行都是报 undefined  。拿ie试了一试,居然没有错,上网搜了一下,发现这篇文

章,共享一下。改成$(obj).getAttribute("myid")解决兼容性问题。

原文如下:

HTML标签可以自定义属性,但是我们要考虑其在IE、Firefox以及chrome下的兼容性问题。
例如:

  1. <div id="newTest" myAttr="getAttr"></div>

这里的“myAttr”就是这个标签的自定义属性了。

如果定义了属性却使用不了,那么这个属性就没有任何意义了,接下来就是如何去调用我们的自定义属性的值了。

在IE浏览器里,我们通过获取对象后直接调用就可以了

  1. document.getElementById("newTest").myAttr;

在IE浏览器里,我们同样可以对其直接赋值而动态产生一个自定义属性:

  1. document.getElementById("newTest").newAttr = "new";

在火狐和谷歌浏览器里,我们可以通过getAttribute方法来实现调用:

  1. document.getElementById("newTest").getAttribute("myAttr");

在火狐和谷歌浏览器里,我们可以通过setAttribute方法在产生并设置一个自定义属性:

  1. document.getElementById("newTest").setAttribute("newAttr","new");

自定义属性一般是我们用来存储数据或是相关依据的,根据实际情况,自定义属性其实很有用的。

测试浏览器:IE8,firefox 8.01,chrome 17.0.963.46 m
测试结果:能够获取到自定义属性

另外补充一点,如果不想做兼容判断,其实我们可以使用Jquery的attr方法来获取与设置自定义属性的值,目前测试结果是全兼容。

  1. $("#newTest").attr("myAttr");
  2. $("#newTest").attr("newAttr","new");
原文地址:https://www.cnblogs.com/fzll/p/3256333.html