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 相关文章推荐
jquery的ajax从纯真网(cz88.net)获取IP地址对应地区名
Dec 02 Javascript
Bootstrap树形控件使用方法详解
Jan 27 Javascript
JS组件Bootstrap Table布局详解
May 27 Javascript
jquery之别踩白块游戏的简单实现
Jul 25 Javascript
JavaScript实现通过select标签跳转网页的方法
Sep 29 Javascript
node+express制作爬虫教程
Nov 11 Javascript
移动端手指放大缩小插件与js源码
May 22 Javascript
webpack构建react多页面应用详解
Sep 15 Javascript
通过jquery toggleClass()属性制作文章段落更改背景颜色
May 21 jQuery
微信小程序模板消息限制实现无限制主动推送的示例代码
Aug 27 Javascript
微信小程序复选框实现多选一功能过程解析
Feb 14 Javascript
vue 实现click同时传入事件对象和自定义参数
Jan 29 Vue.js
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
五款常用mysql slow log分析工具的比较分析
2011/05/22 PHP
PHPMYADMIN导入数据最大为2M的解决方法
2012/04/23 PHP
PHP简单选择排序算法实例
2015/01/26 PHP
php倒计时出现-0情况的解决方法
2016/07/28 PHP
js验证整数加保留小数点的简单实例
2013/12/02 Javascript
JQuery实现动态表格点击按钮表格增加一行
2014/08/24 Javascript
Javascript基础教程之数据类型 (字符串 String)
2015/01/18 Javascript
值得分享和收藏的Bootstrap学习教程
2016/05/12 Javascript
深入分析javascript中console命令
2016/08/14 Javascript
妙用Bootstrap的 popover插件实现校验表单提示功能
2016/08/29 Javascript
原生JS实现圣旨卷轴展开效果
2017/03/06 Javascript
js实现自定义进度条效果
2017/03/15 Javascript
微信小程序开发之麦克风动画 帧动画 放大 淡出
2017/04/18 Javascript
JavaScript判断变量名是否存在数组中的实例
2017/12/28 Javascript
微信小程序实现列表下拉刷新上拉加载
2020/07/29 Javascript
基于Angularjs-router动态改变Title值的问题
2018/08/30 Javascript
js实现中文实时时钟
2020/01/15 Javascript
微信小程序实现点击导航条切换页面
2020/11/19 Javascript
关于angular 8.1使用过程中的一些记录
2020/11/25 Javascript
Python对字符串实现去重操作的方法示例
2017/08/11 Python
Python判断两个对象相等的原理
2017/12/12 Python
Python 查看list中是否含有某元素的方法
2018/06/27 Python
python中的数组赋值与拷贝的区别详解
2019/11/26 Python
python使用正则表达式去除中文文本多余空格,保留英文之间空格方法详解
2020/02/11 Python
python GUI库图形界面开发之PyQt5下拉列表框控件QComboBox详细使用方法与实例
2020/02/27 Python
python矩阵运算,转置,逆运算,共轭矩阵实例
2020/05/11 Python
使用django自带的user做外键的方法
2020/11/30 Python
英国家电购物网站:Sonic Direct
2019/03/26 全球购物
英国领先的在线高尔夫设备零售商:Golfgeardirect
2020/12/11 全球购物
Lancer Skincare官方网站:抗衰老皮肤护理
2020/11/20 全球购物
英语自我评价范文
2014/01/24 职场文书
销售人才自我评价范文
2014/09/27 职场文书
单位介绍信格式
2015/01/31 职场文书
开场白怎么写
2015/06/01 职场文书
深度好文:50条没人告诉你的人生经验,句句精辟
2019/08/22 职场文书
Centos系统通过Docker安装并搭建MongoDB数据库
2022/04/12 MongoDB