javascript针对DOM的应用实例(一)


Posted in Javascript onApril 15, 2012

我相信可能大部分人来这里学javascript主要还是想用这个结合页面中的DOM元素做一些实际有用的交互效果。所以我这里只教大家最实际,最有用的javascript应用。但是前提大家最好有一些javascript或者jquery的编程的基础。好废话不多说了。
今天第一篇,就教大家如何用javascript获取页面中的dom元素。这个很重要。我会对照JQuery来讲。
如果页面中的元素是ID属性
<div id="dom"></div>

JQ的方法:$("#dom"),
原生js的方法:var a = document.getElementById("dom");这个a就等价于$("#dom");

如果我想获取父级元素下的一个元素

<div id="dom"> 
<span></span> 
</div>

JQ的方法:$("#dom span"),
原生js的方法:var b = document.getElementById("dom").getElementsByTagName("span")[0];这个b就等价于$("#dom span")
其实还有一种简单方法var b = document.getElementById("dom").childNodes[0] 但是在FF下会出问题,这个我们以后讨论

获取页面中的一组元素

<div id = "dom"> 
<ul> 
<li></li> 
<li></li> 
<li></li> 
<ul> 
</div>

JQ的方法:$("#dom ul li")或者$("#dom li")或者$("#dom > li"),
原生JS方法:var c = document.getElementById("dom").getElementsByTagName("li");但是这个c不等同于上面,因为不能像上面JQ那样直接使用。需要用for循环才能一起使用。如果单个使用比如说我只用第一个li,只需要var c = document.getElementById("dom").getElementsByTagName("li")[0],用第二个就是var c = document.getElementById("dom").getElementsByTagName("li")[1],以此类推。因为DOM元素在JS中是以数组形式存放的。

上面的都还算好理解。现在我要讲的这个是大家都常用的。但是在原生JS里获取也是最麻烦的一个属性就是class属性,
<div class = "dom'>
</div>

JQ的方法:很简单$(".dom");
原生JS方法:这就有些麻烦了,需要写一个函数。因为原生JS没有提供直接获取class的方法。所以我们需要这样。我先把函数写出来

function $class(domclass){ 
var odiv = document.body.getElementByTagName("*"); 
var a; 
for(var i = 0;i<odiv.length;i++){ 
if(odiv.className ==domclass){ 
a = odiv 
} 
return a; 
} 
}

用这个函数来获取就很简单了只需要var d = $class("dom");

我就说说这个函数的意思吧,
var odiv = document.body.getElementByTagName("*");
这句意思是获取页面中所有的DOM元素

for(var i = 0;i<odiv.length;i++){ 
if(odiv.className ==domclass){ 
a = odiv 
}

这个是遍历页面中所有元素然后拿他们的class进行比对。如果和我们传进来的domclass这个参数一样就把这个元素拿给a;
return a;把a返回出来

所以用var d = $class("dom");就相当于var d = a;

(顺便说下className是这JS的一个属性就是得到DOM元素的命名的class)

好了今天就发这么多。我想我写的比较笼统。大家肯定有很多不明白的地方,有不明白的就直接问。我会一一解释的。大家想学什么交互效果也可以告诉我,我会尽量满足大家

Javascript 相关文章推荐
JavaScript对象模型-执行模型
Apr 28 Javascript
Jquery提交表单 Form.js官方插件介绍
Mar 01 Javascript
Firefox和IE兼容性问题及解决方法总结
Oct 08 Javascript
jQuery实现切换页面过渡动画效果
Oct 29 Javascript
jQuery实现鼠标跟随提示层效果代码(可显示文本,Div,Table,Html等)
Apr 18 Javascript
深入浅析JavaScript中的scrollTop
Jul 11 Javascript
jQuery插件zTree实现删除树子节点的方法示例
Mar 08 Javascript
js实现以最简单的方式将数组元素添加到对象中的方法
Dec 20 Javascript
js监听html页面的上下滚动事件方法
Sep 11 Javascript
angularJs中$scope数据序列化的实例
Sep 30 Javascript
JavaScript实现的开关灯泡点击切换特效示例
Jul 08 Javascript
在vue中使用防抖函数组件操作
Jul 26 Javascript
JavaScript中的null和undefined解析
Apr 14 #Javascript
dtree 网页树状菜单及传递对象集合到js内,动态生成节点
Apr 14 #Javascript
jquerymobile checkbox及时刷新才能获取其准确值
Apr 14 #Javascript
深入理解JavaScript系列(16) 闭包(Closures)
Apr 12 #Javascript
深入理解JavaScript系列(15) 函数(Functions)
Apr 12 #Javascript
深入理解JavaScript系列(14) 作用域链介绍(Scope Chain)
Apr 12 #Javascript
jQuery UI Dialog 创建友好的弹出对话框实现代码
Apr 12 #Javascript
You might like
PHP判断搜索引擎蜘蛛并自动记忆到文件的代码
2012/02/04 PHP
php自定义分页类完整实例
2015/12/25 PHP
laravel Validator ajax返回错误信息的方法
2019/09/29 PHP
Locate a File Using a File Open Dialog Box
2007/06/18 Javascript
一个很简单的jquery+xml+ajax的无刷新树结构(无css,后台是c#)
2010/06/02 Javascript
JavaScript判断访问的来源是手机还是电脑,用的哪种浏览器
2013/12/12 Javascript
js键盘上下左右键怎么触发function(实例讲解)
2013/12/14 Javascript
Javascript中拼接大量字符串的方法
2015/02/05 Javascript
JavaScript获取图片像素颜色并转换为box-shadow显示
2016/03/11 Javascript
jQuery代码实现实时获取时间
2017/01/29 Javascript
使用 Vue 实现一个虚拟列表的方法
2019/08/20 Javascript
Vue使用虚拟dom进行渲染view的方法
2019/12/26 Javascript
js构造函数constructor和原型prototype原理与用法实例分析
2020/03/02 Javascript
解决js中的setInterval清空定时器不管用问题
2020/11/17 Javascript
详解Python中 __get__和__getattr__和__getattribute__的区别
2016/06/16 Python
python3个性签名设计实现代码
2018/06/19 Python
利用python循环创建多个文件的方法
2018/10/25 Python
Python 隐藏输入密码时屏幕回显的实例
2019/02/19 Python
django框架用户权限中的session缓存到redis中的方法
2019/08/06 Python
python getpass实现密文实例详解
2019/09/24 Python
详解python常用命令行选项与环境变量
2020/02/20 Python
python用pip install时安装失败的一系列问题及解决方法
2020/02/24 Python
RentCars.com巴西:汽车租赁网站
2016/08/22 全球购物
中国高端鲜花第一品牌:roseonly(一生只送一人)
2017/02/12 全球购物
环境科学专业个人求职信
2013/09/26 职场文书
应届毕业生求职信范例分享
2013/12/17 职场文书
人力资源主管职责范本
2014/03/05 职场文书
法律专业求职信
2014/05/24 职场文书
房屋买卖委托书格式范本格式
2014/10/13 职场文书
大学生自荐材料范文
2014/12/30 职场文书
家庭暴力离婚起诉书
2015/05/18 职场文书
朋友聚会开场白
2015/06/01 职场文书
老兵退伍感言
2015/08/03 职场文书
婚礼答谢词范文
2015/09/29 职场文书
《蚂蚁和蝈蝈》教学反思
2016/02/22 职场文书
《将心比心》教学反思
2016/02/23 职场文书