我想使用 jQuery 获取类名
如果它有一个 id
<div class="myclass"></div>
我想使用 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 方法,并且在所有浏览器中都得到很好的支持。
最好是使用.hasClass()
时要检查元素是否具有特定class
。这是因为当一个元素有多个class
时,检查起来并不容易。
例子:
<div id='test' class='main divhover'></div>
在哪里:
$('#test').attr('class'); // returns `main divhover`.
有了.hasClass()
我们可以测试是否div
有 class 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')
OR 可以在 2 行中使用 vanilla javascript 实现:
const { classList } = document.querySelector('#id');
document.querySelectorAll(`.${Array.from(classList).join('.')}`);
这是使用 into 元素将第二个类放入多个类中
var class_name = $('#videobuttonChange').attr('class').split(' ')[1];
你可以简单地使用,
var className = $('#id').attr('class');