取得一个页面的所有class
来源:互联网 发布:linux共享文件夹在哪 编辑:程序博客网 时间:2024/06/07 07:59
因为js函数库并没有去取得所有class的函数,
原生js:
<!DOCTYPE html>
<html lang="cmn-Hans">
<head>
<meta charset="UTF-8">
<title>Document</title>
</head>
<body>
<header class="claheader posabs">
<nav class="claheader clanav disflex"></nav>
</header>
<footer class="clafooter disblock">
<ul class="clafooter claul padz">
<li class="pasde"></li>
</ul>
</footer>
</body>
</html>
<script>
//获取所有的className
var classNames=getAllClassName();
console.log(classNames);
//获得只出现一次的class
for(var i=0;i<classNames.length;i++){
if(document.getElementsByClassName(classNames[i]).length==1)
console.log(classNames[i]);
}
//获取指定className的节点
var eles=getElementsByClassName("claheader");
//console.log(eles);
//修改节点的className
//把claheader替换为newclass
for(var i=0;i<eles.length;i++){
var ele=eles[i];
ele.className=ele.className.replace("claheader","newclass");
}
/**
* 获取指定className的节点
* @param {[type]} name [description]
* @return {[type]} [description]
*/
function getElementsByClassName(name){
var result=[];
var body=document.body;
getElementByClassName(body);
function getElementByClassName(ele){
var s=ele.className||"";
if(s!=""&&s.indexOf(name)!=-1){
result.push(ele);
}
var childs=ele.childNodes;
for(var i=0;i<childs.length;i++){
getElementByClassName(childs[i]);
}
}
return result;
}
/**
* 遍历DOM,获取所有节点的className,重复的只记录一遍。
*/
function getAllClassName(){
var result=[];
var body=document.body;
getClassName(body);
function getClassName(ele){
var s=ele.className||"";
if(s!=""){
console.log(s);
var arr=s.split(" ");
for(var i=0;i<arr.length;i++){
var name=arr[i];
if(name!=""&&result.indexOf(name)==-1){
//console.log(name);
result.push(name);
}
}
}
var childs=ele.childNodes;
for(var i=0;i<childs.length;i++){
getClassName(childs[i]);
}
}
return result;
}
</script>
- 取得一个页面的所有class
- 访问一个页面并取得该页面所有内容
- 取得页面内的所有链接
- 取得页面中所有图片
- 用JS取得页面上所有元素的值
- 如何取得一个数据表的所有列名
- magento -- 如何取得一个分类的所有产品
- 如何快速取得一个二进制状态的所有子状态
- 如何快速取得一个二进制状态的所有子状态
- 取得所有的Session变量
- service--取得所有的service
- Jquery 取得页面所有 input 属性为text的id 和input里面的值
- 如何取得aspx页面上所有控件的名称和值?
- 取得request对象中所有的参数值并生成一个相应的对象返回
- 取得页面执行时间的代码
- 如何取得一个表的所有字段名用逗号分割
- 如何取得一个表的所有字段名用逗号分割(SQLSERVER和ORACLE)
- 如何取得一个表的所有字段名用逗号分割
- Vi与Vim
- 04 java类的继承和静态公有成员
- Shader套用公式
- FOR ALL ENTRIES IN内表排序、排重对性能的影响
- Netty系列
- 取得一个页面的所有class
- java乱码:GBK和UTF-8互转尾部乱码问题分析
- python中exit()的用法
- C#基础-018 找出100以内是7的倍数或者含有7的整数
- git安装配置
- scala 导出及相关函数使用
- 用golang写的简单端口扫描器
- 智能小车二十一 《电压检测模块设计》
- Spring Boot入门