我想使用jQuery获得类名
如果它有id
<div class="myclass"></div>
我想使用jQuery获得类名
如果它有id
<div class="myclass"></div>
当前回答
如果你不知道类名,但你知道ID,你可以试试这个:
<div id="currentST" class="myclass"></div>
然后调用它使用:
alert($('#currentST').attr('class'));
其他回答
如果我们有一个div元素,或者我们想要第一个div元素,我们可以使用
$ (div)[0]。否则,我们需要该元素的id
在通过类以外的其他方式将元素获取为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('.')}`);
<div id="elem" class="className"></div>
使用Javascript
document.getElementById('elem').className;
与jQuery
$('#elem').attr('class');
OR
$('#elem').get(0).className;
直接的方式
myid.className
console.log( myid.className ) <div id=“myid” class=“myclass”></div>