如何获取类的实际名称而非元素内容?JavaScript技术问询
获取元素类名的解决方案
嘿,这事儿挺简单的!你要获取元素的实际类名,直接用JavaScript原生提供的className或classList属性就能搞定,完全不用额外找别的函数。
方法1:使用className属性
className会直接返回元素类名的字符串形式——如果元素有多个类名,它们会用空格分隔开。针对你的示例,只需要把获取innerHTML的部分替换成className就行:
var classElement = document.getElementsByClassName('myClass'); var printResult = document.getElementById('result'); // 替换为className获取类名 printResult.innerHTML = classElement[0].className;
运行这段代码后,result元素就会输出myClass啦。
方法2:使用classList属性
classList返回的是一个DOMTokenList对象,功能比className更灵活:
- 用
classList.value可以拿到和className完全一样的类名字符串 - 用
classList.item(index)可以精准获取指定位置的单个类名(比如classList.item(0)就是第一个类名) - 还支持添加、删除、切换类名这类操作,适合复杂的类管理场景
用classList改写你的示例:
var classElement = document.getElementsByClassName('myClass'); var printResult = document.getElementById('result'); // 方式1:获取完整类名字符串 printResult.innerHTML = classElement[0].classList.value; // 方式2:获取第一个类名 // printResult.innerHTML = classElement[0].classList.item(0);
小补充
如果你的元素有多个类名(比如<div class="myClass anotherClass">Hello</div>):
className会返回"myClass anotherClass"classList.value同样返回"myClass anotherClass"classList.item(1)会单独返回"anotherClass"
内容的提问来源于stack exchange,提问作者5120bee
相关产品推荐
相关产品推荐

