如何通过JavaScript获取没有id的元素的类名?
例如: <span class="xyz"></span>
我想更改这个元素的背景颜色。
有什么解决方法吗?请帮帮我。
tympanus.net/Tutorials/CSS3PageTransitions/index3.html#contact
如何通过JavaScript获取没有id的元素的类名?
例如: <span class="xyz"></span>
我想更改这个元素的背景颜色。
有什么解决方法吗?请帮帮我。
tympanus.net/Tutorials/CSS3PageTransitions/index3.html#contact
应该可以像这样做:
var spans = document.getElementsByTagName("span");
for (var i = 0; i < spans.length; i++) {
if (spans[i].className == 'xyz') {
spans[i].style.backgroundColor = '#000';
}
}
document.getElementsByClassName("xyz")
。这将返回一个具有该类名的对象的NodeList(类似于数组)。不幸的是,这个函数在旧版本的IE中不存在。document.getElementsByTagName("span")
,然后循环遍历这些对象,测试.className
属性,以查看哪些对象具有所需的类。document.querySelectorAll(".xyz")
来获取具有该类名的所需对象。不幸的是,这个函数在旧版本的浏览器中不存在。Sizzle(".xyz");
var list = Sizzle(".xyz");
var list = $(".xyz");
同时,这两种方法在IE6及其以上版本的所有浏览器中都能够正常工作,您不必担心任何浏览器兼容性问题。
在更现代的时代(比如2021年),您可以使用内置的document.querySelectorAll()
方法,并且可以看到相当丰富的CSS3选择器支持。
document.getElementsByClassName('xyz')
。请注意:由于可能有多个具有相同类的元素,因此它返回var spans = document.getElementByClassName('xyz');
var i;
for(i=0; i<spans.length; i++) {
spans[i].style.backgroundColor = your_color;
}
var classname = $(this).attr('class'); //here you will get current class name if its with multiple class split it and take first class.
$("."+classname.split(" ")[0]).css("background-color", "yellow");