我想使用jQuery获得类名

如果它有id

<div class="myclass"></div>

当前回答

在通过类以外的其他方式将元素获取为jQuery对象后,然后

var className = $('#sidebar div:eq(14)').attr('class');

应该能行。ID使用.attr(' ID ')。

如果你在事件处理程序或其他jQuery方法中,其中元素是没有包装器的纯DOM节点,你可以使用:

this.className // for classes, and
this.id // for IDs

两者都是标准的DOM方法,在所有浏览器中都得到了良好的支持。

其他回答

也许,你有一个类和一个子类。

  <div id='id' class='myclass mysubclass' >dfdfdfsdfds</div>

如果你使用以前的解决方案,你将有:

myclass mysubclass

因此,如果你想要类选择器,请执行以下操作:

var className = '.'+$('#id').attr('class').split(' ').join('.')

你会得到

.myclass.mysubclass

现在如果你想选择所有具有相同类的元素,比如上面的div:

   var brothers=$('.'+$('#id').attr('class').split(' ').join('.'))

这意味着

var brothers=$('.myclass.mysubclass')

更新2018

或可以实现与香草javascript在2行:

  const { classList } = document.querySelector('#id');
  document.querySelectorAll(`.${Array.from(classList).join('.')}`);

这是为了将第二个类转化为多个类,使用成一个元素

var class_name = $('#videobuttonChange').attr('class').split(' ')[1];

在通过类以外的其他方式将元素获取为jQuery对象后,然后

var className = $('#sidebar div:eq(14)').attr('class');

应该能行。ID使用.attr(' ID ')。

如果你在事件处理程序或其他jQuery方法中,其中元素是没有包装器的纯DOM节点,你可以使用:

this.className // for classes, and
this.id // for IDs

两者都是标准的DOM方法,在所有浏览器中都得到了良好的支持。

如果<div>有id:

​<div id="test" class="my-custom-class"></div>​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​

...你可以试试:

var yourClass = $("#test").prop("class");

如果你的<div>只有一个类,你可以尝试:

var yourClass = $(".my-custom-class").prop("class");

如果你不知道类名,但你知道ID,你可以试试这个:

<div id="currentST" class="myclass"></div>

然后调用它使用:

alert($('#currentST').attr('class'));