【问题标题】:JavaScript getting an elements class without any librariesJavaScript 在没有任何库的情况下获取元素类
【发布时间】:2011-03-28 02:19:43
【问题描述】:

我想使用 JavaScript 获取元素的 class 属性值。但是在这种特殊情况下,我没有像 YUI、jQuery 等这样的库,需要坚持基础。

具体来说,我正在遍历一个表格并想要检查单元格的类。

我试过了:

var colClass = el.getAttribute('class');

var colClass = el.class;

但似乎两者都不起作用。在上面的例子中,el 是从表格的单元格数组中设置的,例如var el = document.getElementById('myTable').rows[y].cells[y];

【问题讨论】:

    标签: javascript class


    【解决方案1】:

    记住:

    如果您收到错误并且 className 不起作用,这可能是因为您的元素是 jQuery 对象。

    在上图中你看到我不能在 jQuery 对象上使用 className

    【讨论】:

      【解决方案2】:

      className?

      Element.className

      <html>
      <body id="myid" class="mystyle">
      
      <script>
      var x=document.getElementsByTagName('body')[0];
      document.write("Body CSS class: " + x.className);
      document.write("<br>");
      document.write("An alternate way: ");
      document.write(document.getElementById('myid').className);
      </script>
      
      </body>
      </html>
      

      【讨论】:

        【解决方案3】:

        您发布的这条线应该可以工作:

        var colClass = el.getAttribute('class');
        

        您能发布您在浏览器中遇到的错误吗?确保 el 不为空。

        如果你不让那个工作,the attribute of the object is className, not class:

        var colClass = el.className;
        

        【讨论】:

        • getAttribute('class') 返回 null。对于同一个元素,.className 返回了类。
        • @Zugwalt - 自发布以来已经有很长时间了。你知道为什么 getAttribute 可能会失败吗?
        • @HelloWorldNoMore 这可能是在 IE6 或 IE7 等旧版浏览器中看到的
        【解决方案4】:

        也许你应该试试这个

        var colClass = el.className
        

        【讨论】:

          猜你喜欢
          • 2023-03-12
          • 1970-01-01
          • 2020-11-23
          • 1970-01-01
          • 2022-06-15
          • 2022-01-10
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多