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 相关文章推荐
js中文逗号转英文实现
Feb 11 Javascript
js登录弹出层特效
Mar 07 Javascript
jQuery实现html元素拖拽
Jul 21 Javascript
jQuery实现带水平滑杆的焦点图动画插件
Mar 08 Javascript
Bootstrap企业网站实战项目4
Oct 14 Javascript
简单三步实现报表页面集成天气
Dec 15 Javascript
Vue.js自定义指令的用法与实例解析
Jan 18 Javascript
JS Select下拉框(支持输入模糊查询)
Feb 04 Javascript
微信小程序 开发之滑块视图容器(swiper)详解及实例代码
Feb 22 Javascript
vue中使用iview自定义验证关键词输入框问题及解决方法
Mar 26 Javascript
灵活使用console让js调试更简单的方法步骤
Apr 23 Javascript
Vue开发环境跨域访问问题
Jan 22 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
smarty静态实验表明,网络上是错的~呵呵
2006/11/25 PHP
codeigniter实现get分页的方法
2015/07/10 PHP
php有效防止图片盗用、盗链的两种方法
2016/11/01 PHP
Python中使用django form表单验证的方法
2017/01/16 PHP
借助script进行Http跨域请求:JSONP实现原理及代码
2013/03/19 Javascript
基于jQuery实现模拟页面加载进度条
2013/04/01 Javascript
JS操作数据库的实例代码
2013/10/17 Javascript
jquery中EasyUI实现同步树
2015/03/01 Javascript
Perl Substr()函数及函数的应用
2015/12/16 Javascript
JavaScript面向对象程序设计教程
2016/03/29 Javascript
jQuery表单验证插件解析(推荐)
2016/07/21 Javascript
详解JavaScript模块化开发
2016/12/04 Javascript
angular+bootstrap的双向数据绑定实例
2017/03/03 Javascript
JS通过位运算实现权限加解密
2018/08/14 Javascript
vue如何根据网站路由判断页面主题色详解
2018/11/02 Javascript
js实现星星打分效果
2020/07/05 Javascript
js实现贪吃蛇游戏(简易版)
2020/09/29 Javascript
数据挖掘之Apriori算法详解和Python实现代码分享
2014/11/07 Python
Python中操作符重载用法分析
2016/04/29 Python
在Python的Flask框架中构建Web表单的教程
2016/06/04 Python
Python简单格式化时间的方法【strftime函数】
2016/09/18 Python
python的dataframe转换为多维矩阵的方法
2018/04/11 Python
python pandas dataframe 按列或者按行合并的方法
2018/04/12 Python
Python爬取qq空间说说的实例代码
2018/08/17 Python
pytorch 实现在预训练模型的 input上增减通道
2020/01/06 Python
matplotlib自定义鼠标光标坐标格式的实现
2021/01/08 Python
HTML5文档结构标签
2017/04/21 HTML / CSS
使用索引(Index)有哪些需要考虑的因素
2016/10/19 面试题
专家推荐信模板
2014/05/09 职场文书
本科应届生自荐信
2014/06/29 职场文书
2014年教师节活动总结
2014/08/29 职场文书
2014年招商引资工作总结
2014/11/22 职场文书
综合素质评价思想道德自我评价
2015/03/09 职场文书
私人贷款担保书该怎么写呢?
2019/07/02 职场文书
导游词之河北滦平金山岭长城
2019/10/16 职场文书
Sql Server之数据类型详解
2022/02/28 SQL Server