【问题标题】:How can I retrieve the class of an element using jQuery/javascript?如何使用 jQuery/javascript 检索元素的类?
【发布时间】:2009-09-15 00:45:24
【问题描述】:

我有一堆这样的输入

<input id="someId" type="button" class="SomeClass" onclick="determineClass(this.id, event)" />

我想从 javascript 获取类,每个输入都不同。

function determineClass(id, e) {
    var elementClass = //Somehow get the class here
}

它可以使用 jQuery 或只是普通的 javascript...有谁知道如何做到这一点?

谢谢, 马特

【问题讨论】:

    标签: javascript jquery html css class


    【解决方案1】:
    alert($('#someId').attr('class'));
    

    如果您的输入有多个类,attr('class') 返回一个以空格分隔的类名列表。可以通过以下方式获取最后一个:

    alert($('#someId').attr('class').split(' ').slice(-1));
    

    见Attributes/attr

    【讨论】:

      【解决方案2】:

      你会使用:

      $('#someId').attr('class')

      但请注意,如果它有多个类,它将返回所有类的字符串,因此在这种情况下,您必须使用 indexOf 或正则表达式来检查特定类。

      【讨论】:

      • 也可以使用 $('#someId')[0].className 滑动。
      • ...或 $('#someId:first').attr('class')
      • @David Andres - $('#someId:first') 意味着相同 ID 的多个元素,大禁忌。
      • @karim79:一个很大的禁忌,是的。在这一点上不会不同意。
      【解决方案3】:

      使用普通的 JavaScript 更简单:

      function determineClass(id, e)
      {
        var elem = document.getElementById(id);
      
        if(elem)
        {
          alert(elem.className);
        }
      }
      

      【讨论】:

        【解决方案4】:

        使用普通的 ol' javascript,如果你已经有一个元素的变量/引用,你可以使用 "element.className" 拉出类

        所以,对于上面的元素“someId”:

        element = document.getElementById('someId');
        if(element) elementClass = element.className
        

        如果您为元素分配了多个类,这会变得有点复杂——您必须将在 className 属性中找到的内容用空格分开才能将它们分开——但这是基础。

        也就是说,如果您有机会,请使用 jQuery。它通常会使这种事情变得更容易。

        【讨论】:

          【解决方案5】:

          [编辑]

          啊,废话……不是你的意思……

          $('#id').attr('class');

          [/编辑]

          【讨论】:

          • 他已经在使用 jQuery。无需使用其他库。
          • 您知道,如果答案不适用于该问题,您可以删除它。
          猜你喜欢
          • 2012-08-12
          • 1970-01-01
          • 2014-10-11
          • 1970-01-01
          • 2014-09-21
          • 1970-01-01
          • 1970-01-01
          • 2017-07-05
          • 1970-01-01
          相关资源
          最近更新 更多