我想使用jQuery获得类名
如果它有id
<div class="myclass"></div>
我想使用jQuery获得类名
如果它有id
<div class="myclass"></div>
当前回答
当您想要检查元素是否具有特定的类时,最好使用. hasclass()。这是因为当一个元素有多个类时,检查起来并不简单。
例子:
<div id='test' class='main divhover'></div>
地点:
$('#test').attr('class'); // returns `main divhover`.
使用. hasclass()我们可以测试div是否具有类divhover。
$('#test').hasClass('divhover'); // returns true
$('#test').hasClass('main'); // returns true
其他回答
也许,你有一个类和一个子类。
<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”
你可以简单地用,
var className = $('#id').attr('class');
<div id="elem" class="className"></div>
使用Javascript
document.getElementById('elem').className;
与jQuery
$('#elem').attr('class');
OR
$('#elem').get(0).className;
如果<div>有id:
<div id="test" class="my-custom-class"></div>
...你可以试试:
var yourClass = $("#test").prop("class");
如果你的<div>只有一个类,你可以尝试:
var yourClass = $(".my-custom-class").prop("class");