是否有可能将所有全局/继承css类应用于元素?
问题描述:
我需要一个javascript函数,可以让我把所有CSS类应用到元素。是否有可能将所有全局/继承css类应用于元素?
我们分别具有像getComputedStyle(element,“”)和currentStyle(),FF和IE这样的函数。 但是,这些函数只给我应用于元素的CSS属性,而不是类。
为了使事情更清楚,请参阅以下DOM结构。
<html>
<head>
<style>
.dd{
font-weight:bold;
}
.dd span{
border:solid 1px #ABABAB;
}
</style>
</head>
<body>
<div class='dd'>
<span id='span1'>Hi this is a example</span>
</div>
</body>
</html>
现在JavaScript应该是什么,如果我得到元素'span1'它应该给我所有应用于此元素的类。说的输出应该给我“.DD跨度和.DD”
答
document.getElementById('span1').className;
,您可以使用.parentNode
获得各种父类。
而且,如果你给最顶层的父position
风格,你可以这样做:
var topmost = document.getElementById('span1').offsetParent;
for(var x = 0; x < topmost.childNodes.length;x++) {
alert(topmost.childNodes[x].className);
}
//编辑
它看起来就像你正在试图做的事情Firebug的类型。这里的很多用户都尝试过。一个好的搜索可能会带你到你从未梦想过的东西...... muhahahaha ......
答
作为Steve的答案的延续,你可以循环遍历父节点并列出每个父节点的类名。
var listClasses = function(element){
while(element){
console.log(element.className);
element = element.parentNode;
}
}
使用:
listClasses(target);
史蒂夫, 我其实是在寻找功能的构建,将返回我calsses的列表。我在网上搜索,没有发现任何东西。 – hirenhcm 2010-11-02 18:12:04