实现一个简单的DOM选择器
来源:互联网 发布:中国高铁发展知乎 编辑:程序博客网 时间:2024/05/22 12:00
实现一个简单的DOM选择器
预备知识
DOM相关知识
http://www.w3school.com.cn/htmldom/index.asp
具体描述
实现一个方法$,可以完成以下功能
1.可以通过id获取一个DOM
例如:
<div id="dom1"></div>
......
$("#dom1") // 返回一个数组,数组中唯一的元素为id为dom1的div
2.可以通过css的class name获取一组DOM
例如:
<divclass="style1"></div>
<p class="style1style2"></p>
.....
$(".style1") // 返回一个数组,数组中两个元素,为class含有style1的div及p
$(".style2 .style1") // 返回一个数组,数组中一个元素,为class含有style1, style2的p
参考:
通过类和id选择获取DOM元素
做一个类似JQuery获取DOM对象的$()
<!DOCTYPE html><html><head lang="en"> <meta charset="UTF-8"> <title></title></head><body><div id="dom1" style="background: coral">a</div><ul><p class="t">Hello,world!</p><p>Hello,world!</p><li class="t1 t2">afasdfsa</li><li>sfk</li><li class="t">sdklfajsfjk</li><li>end</li><li class="t">of</li></ul><ol> <li class="t">附加的第一项</li> <li class="t">附加的第二项</li> <li class="t">附加的第三项</li></ol><!--首先先建立HTML--><script> function $( selector ) { var split = selector.split(" "); console.log(split); var el = document; var len = split.length; var clName=[]; var type, name; try { for( var i = 0; i < len; i++ ) { name = split[ i ];//.t1 .t2 type = name[ 0 ]; name = name.substr(1, name.length - 1); clName.push(name); } console.log(clName); name=clName.join(" "); console.log(name); console.log(typeof name); console.log(name); console.log(type); switch( type ) { case "#": el =document.getElementById( name); break; case ".": el = document.getElementsByClassName( name ); break; default: el = null; } } catch( e ) { el = null; throw( "Error with getElement using selector: " + selector + ", error: " + e ); } if ( el == document ) el = null; return el; } $(".t1 .t2")[0].style.background='blue'; $("#dom1").style.background='green';/* document.getElementsByClassName("t")[0].style.background='green'; document.getElementById("dom1").style.background='blue';*/ /* console.log(typeof(document.getElementById("dom1")));*/ /*$(".t1 .t2").style.background='blue';*///错的,因为返回的是数组/*$(document).ready(function(){$("#dom1").click(function(){this.style.background='blue';})});*/</script></body></html>
注意:JQUERY的书写一定要
$(document).ready(function(){$("#dom1").click(function(){this.style.background='blue';})});
<pre name="code" class="html"><strong><span style="font-size:18px;">document.getElementsByClassName返回的是数组</span></strong>
0 0
- 实现一个简单的DOM选择器
- 实现一个简单的虚拟DOM
- 一个简单的日期选择器
- 一个简单的图片选择器
- 原生的DOM选择器
- JavaScript实现DOM对象选择器
- JavaScript实现DOM对象选择器
- 一个简单的jquery选择器例子
- Android时间选择器的简单实现
- 使用UIPickerView实现简单的城市选择器
- AJAX实现一个简单的相册和里头包含一些DOM基础应用
- Android 实现一个仿微信的图片选择器
- Dom Range-一个@功能的具体实现
- Jquery-选择器-简单的选择器
- DOM选择器
- XML DOM解析(Java)的一个简单实例
- jquery 简单的选择器
- 简单的选择器
- CNN神经网络层次分析
- 如何将一个文本文件中的数据加载到oracle数据库中
- Linux Bash Shell快速入门
- 移动互联网迅猛发展,手机信息安全隐患如何消除?
- 定位系统挽救了婆婆生命
- 实现一个简单的DOM选择器
- 九度oj-1180-对称矩阵
- Robotium原理初步--Android自动化测试学习历程
- 安装CentOS7操作系统
- GoldenGate学习笔记一_进程、目录与参数配置
- vs2008 水晶报表升级到 vs2013对应版本
- Java 2实用教程 学习之类与程序
- jQuery和CSS3网页固定背景视觉差特效插件
- 大数据:add