我想使用jQuery获得类名

如果它有id

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

当前回答

你可以通过两种方式获取类Name:

var className = $('.myclass').attr('class');

OR

var className = $('.myclass').prop('class');

其他回答

你可以简单地用,

var className = $('#id').attr('class');

这也有用。

const $el = $(".myclass");
const className = $el[0].className;

试一试

HTML

<div class="class_area-1">
    area 1
</div>

<div class="class_area-2">
    area 2
</div>

<div class="class_area-3">
    area 3
</div>

jQuery

<script src="https://code.jquery.com/jquery-1.11.3.js"></script>
<script type="application/javascript">
    $('div').click(function(){
        alert($(this).attr('class'));
    });
</script>

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

  <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('.')}`);

为了完成怀特斯托克的答案(这是我找到的最好的答案),我做了:

className = $(this).attr('class').match(/[\d\w-_]+/g);
className = '.' + className.join(' .');

所以对于" myclass1 myclass2 ",结果将是'。myclass1 .myclass2”