我想使用jQuery获得类名
如果它有id
<div class="myclass"></div>
我想使用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”