初见Ajax——javascript访问DOM的三种访问方式
最近好啰嗦
最近在一间小公司实习,写一些小东西。小公司嘛,人们都说在小公司要什么都写的。果真是。
前端,后台,无论是HTML,CSS,JavaScript还是XML,Java,都要自己全包了。还好前台的要求不高。写一些芝麻豆腐的东西还是不在话下的。但是整个项目下来估计还不止这些要写。而且我的经验当中,都没怎么关心过前端的东西,一直认为这是和我无关的东西,这次估计要悲剧了。所以找了一本书来看——《Ajax实战》。临时抱佛脚,临阵磨枪,也不能说是完全没有用处的。相比没怎么写过Java的人,我还是觉得写一些简单的Javascript对后台的帮助比我去写Java要快。而且交互上来说,Ajax也是必须的。我本人也讨厌老是要刷新整个页面,这太影响体验了。
Ajax,至于叫什么,大家随意吧。是人也好,是足球队也罢。。。
Ajax不是单一的技术,大家都知道,好吧,我啰嗦了。
Ajax设计的技术:Javascript,CSS,DOM,XMLHttpRequest对象。
Javascript和CSS,这两种技术,之前也写过,所以有所了解。一直觉得DOM很难理解,主要还是自己懒一直没有自己去看。XMLHttpRequest嘛,无非就是跟服务器打交道的东西。Request,请求嘛。
用Javascript改善用户体验。用CSS定义应用的外观。用DOM组织视图。使用XML技术异步加载数据。简单来说,Ajax就做了这些事情吧。
暂时只想说个Javascript操作CSS和DOM的例子,XML的事情以后再说吧。一步一步来。
一个简单的例子:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<title>Hello Ajax</title>
<style type="text/css">
.news{
color:#FF0000;
font-family:"微软雅黑";
font-size:14px;
font-weight:normal;
}
.more{
color:#0000FF;
font-family:"宋体";
font-size:150px;
font-weight:bold;
height:200px;
width:200px;
line-height:200px;
text-align:center;
border:solid green 2px;
float:left;
margin:10px;
}
</style>
<script type="text/javascript">
// JavaScript Document
var data="屌丝们4月1日节日快乐啊";
window.onload=function(){
var hello=document.getElementById('hello');
hello.className='news';
}
function more(){
var empty=document.getElementById('empty');
for(var i=0;i<data.length;i++){
addNode(empty,data[i]);
}
var children=empty.childNodes;
for(var i=0;i<children.length;i++){
children[i].className='more';
}
}
function addNode(el,text){
var childEl=document.createElement("div");
el.appendChild(childEl);
var txtNode=document.createTextNode(text);
childEl.appendChild(txtNode);
}
</script>
</head>
<body>
<p id="hello">新闻消息:博客园收购了CSDN</p>
<a href="javascript:;" onclick="more()">更多内容</a>
<div id="empty"></div>
</body>
</html>

javascript蛮好玩的嘛。
实例:愚人节版
这是一个用javascript操作Document和CSS的例子。
DOM能够为javascript引擎公开网页。通过DOM,可以采用编程的方式操作文档的结构。Web页面的DOM表示是一个树状结构,由元素或点组成。节点可以包含很多子节点。javascript通过全局变量document公开当前Web叶梦得根节点,这个变量是所有DOM操作的起点。DOM使用容器的属性来做索引,而不是使用数字做索引。DOM中元素的关系可以看作是HTML清单的镜像。这种关系可以是双向的,修改DOM将改变HTML标记,随之会反映在页面的现实上。
譬如(方法1)
var node=document.form1.hello;
就可以在javascript中访问到
<p id="hello">新闻消息:博客园收购了CSDN</p>
这个节点。
此外javascript访问节点还有另外一种方法。
var node=document.getElementById('hello');
这种方式同样能够访问到节点
<p id="hello">新闻消息:博客园收购了CSDN</p>
其实还有方法的,就是用这种的比较少。
var node=document.getElementByTagName('a');
这种方法会在DOM中搜寻所有的<a>标签。在批量操作的时候就很有用了。
标题有点大,但却是在看。。。
本文转自 Ron Ngai 博客园博客,原文链接: http://www.cnblogs.com/rond/archive/2012/04/01/ajaxone.html ,如需转载请自行联系原作者
初见Ajax——javascript访问DOM的三种访问方式的更多相关文章
- javascript获取DOM对象三种方法
1. getElementByID() getElementByID()方法可返回对拥有指定ID的第一个对象的引用 2. getElementByTagName() getElementByTagNa ...
- JavaScript实现接口的三种经典方式
/* 接口:提供一种说明一个对象应该有哪些方法的手段 js中有三种方式实现接口: 1 注释描述接口 2 属性检测接口 3 鸭式辨型接口 */ /* 1 注释描述接口: 不推荐 优点: 利用注解,给出参 ...
- 【转】SVG与HTML、JavaScript的三种调用方式
原文:https://www.cnblogs.com/guohu/p/5085045.html SVG与HTML.JavaScript的三种调用方式 一.在HTMl中访问SVG的DOM 1 2 3 4 ...
- 2019年6月14日 Web框架之Django_07 进阶操作(MTV与MVC、多对多表三种创建方式、前后端传输数据编码格式contentType、ajax、自定义分页器)
摘要 MTV与MVC 多对多表三种创建方式 ajax ,前后端传输数据编码格式contentType 批量插入数据和自定义分页器 一.MVC与MTV MVC(Model View Controller ...
- AJAX实现跨域的三种方法
由于在工作中需要使用AJAX请求其他域名下的请求,但是会出现拒绝访问的情况,这是因为基于安全的考虑,AJAX只能访问本地的资源,而不能跨域访问. 比如说你的网站域名是aaa.com,想要通过AJAX请 ...
- JavaScript 闭包的详细分享(三种创建方式)(附小实例)
JavaScript闭包的详细理解 一.原理:闭包函数--指有权访问私有函数里面的变量和对象还有方法等:通俗的讲就是突破私有函数的作用域,让函数外面能够使用函数里面的变量及方法. 1.第一种创建方式 ...
- JavaScript声明全局变量的三种方式
JavaScript声明全局变量的三种方式 JS中声明全局变量主要分为显式声明或者隐式声明下面分别介绍. 声明方式一: 使用var(关键字)+变量名(标识符)的方式在function外部声明,即为 ...
- [转]Javascript定义类的三种方法
作者: 阮一峰 原文地址:http://www.ruanyifeng.com/blog/2012/07/three_ways_to_define_a_javascript_class.html 将近2 ...
- [转]SharePoint 2010/2013 使用Javascript来判断权限的三种方法
本文讲述SharePoint 2010/2013 使用Javascript来判断权限的三种方法的实现方式及其优缺点. 1. 根据用户所在的SharePoint组(比如用户在Leader 组才可以使用审 ...
随机推荐
- Silverlight 2.5D RPG游戏技巧与特效处理:(十一)AI系统
Silverlight 2.5D RPG游戏技巧与特效处理:(十一)AI系统 作者: 深蓝色右手 来源: 博客园 发布时间: 2011-04-19 11:18 阅读: 1282 次 推荐: 0 ...
- Property [*****] not found on type [com.erp.pojo.ErpSupplier]
我实体类里用的是 springboot 里@Slf4j @Data 注解式写的 这样可以减少代码量 ,但是遇到一个问题影响我好长时间 出现了这个错误 Property [*****] not ...
- 数据结构和算法(Golang实现)(14)常见数据结构-栈和队列
栈和队列 一.栈 Stack 和队列 Queue 我们日常生活中,都需要将物品排列,或者安排事情的先后顺序.更通俗地讲,我们买东西时,人太多的情况下,我们要排队,排队也有先后顺序,有些人早了点来,排完 ...
- 使用SVGDeveloper画svg地图详细过程
使用步骤 1. 安装svg 2. 具体操作 1. 打开svg,点击file ,new,默认svg,点击ok 显示界面如下: 然后点击image 把鼠标放到代码下面的的桌面上,鼠标箭头会变成 ...
- 在svg文间画图过程中放大缩小图片后,坐标偏移问题
//鼠标坐标:在SVG经过缩放.偏移.ViewBox转换后,鼠标坐标值 var mouseCoord = { x : ., y : . }; //用户坐标:相对于原始SVG,坐标位置 var user ...
- python画图——雪花(科赫曲线)
科赫曲线是一种分形,其形态非常像雪花,因此又被称作科赫雪花.雪花曲线. 下面是用python的turtle包让我们来实时画一个 import turtledef koch(t,n): #定义一个函数 ...
- ASE课程总结 by 朱玉影
收获: 最大的收获应该就是对待选题要慎重吧,虽然前期做了一下调研,但是还是不够,所以到最后我们的项目才会不能公开发布,项目中间也是波折不断,导致我们走了很多弯路,浪费了很多时间吧.选题一定要慎重,慎重 ...
- LCA Nearest Common Ancestors (很典型的例题)
A rooted tree is a well-known data structure in computer science and engineering. An example is show ...
- redis 分布式锁的 5个坑,真是又大又深
引言 最近项目上线的频率颇高,连着几天加班熬夜,身体有点吃不消精神也有些萎靡,无奈业务方催的紧,工期就在眼前只能硬着头皮上了.脑子浑浑噩噩的时候,写的就不能叫代码,可以直接叫做Bug.我就熬夜写了一个 ...
- 性能测试-pidstat 问题定位分析
pidstat 概述 pidstat是sysstat工具的一个命令,用于监控全部或指定进程的cpu.内存.线程.设备IO等系统资源的占用情况.pidstat首次运行时显示自系统启动开始的各项统计信息, ...