Ajax(3)--DOM操作HTML 你忘记了吗?
对应的HTML页面程序的代码如下所示。在该程序中除了与Ajax相关的程序基本框架之外,读者需要特别关注一下使用DOM操作HTML文档中对应元素的方法。
源程序名称:main.htm
<html>
<head>
<title>shopping online</title>
<meta http-equiv="content-type" content="text/html; charset=gb2312">
<link href="images/css.css" type="text/css" rel="stylesheet">
</head>
<script type="text/javascript">
var datadiv;
var datatablebody;
var curelement;
var xmlhttpreq = false;
//创建xmlhttprequest对象
function createxmlhttprequest() {
if(window.xmlhttprequest) { //mozilla 浏览器
xmlhttpreq = new xmlhttprequest();
}
else if (window.activexobject) { // IE浏览器
try {
xmlhttpreq = new activexobject("msxml2.xmlhttp");
} catch (e) {
try {
xmlhttpreq = new activexobject("microsoft.xmlhttp");
} catch (e) {}
}
}
}
//发送请求函数
function getdetail(element) {
datatablebody = document.getelementbyid("databody");
datadiv = document.getelementbyid("popup");
createxmlhttprequest();
curelement = element;
var url = "tipservlet?key=" + escape(element.id);
xmlhttpreq.open("get", url, true);
xmlhttpreq.onreadystatechange = processresponse;//指定响应函数
xmlhttpreq.send(null); // 发送请求
}
// 处理返回信息函数
function processresponse() {
if (xmlhttpreq.readystate == 4) { // 判断对象状态
if (xmlhttpreq.status == 200) { // 信息已经成功返回,开始处理信息
setdata(xmlhttpreq.responsexml);
} else { //页面不正常
window.alert("您所请求的页面有异常。");
}
}
}
// 显示提示框
function setdata(data) {
cleardata();
setoffsets();
var content = data.getelementsbytagname("content")[0].firstchild.data;
var row = createrow(content);
datatablebody.appendchild(row);
}
//生成表格内容行
function createrow(data) {
var row, cell, txtnode;
row = document.createelement("tr");
cell = document.createelement("td");
cell.setattribute("bgcolor", "#fffafa");
cell.setattribute("border", "0");
txtnode = document.createtextnode(data);
cell.appendchild(txtnode);
row.appendchild(cell);
return row;
}
//设置显示位置
function setoffsets() {
datadiv.style.border = "black 1px solid";
var top = 0;
while(curelement) {
top += curelement["offsettop"];
curelement = curelement.offsetparent;
}
datadiv.style.left = 50 + "px";
datadiv.style.top = top + "px";
}
// 清除提示框
function cleardata() {
var ind = datatablebody.childnodes.length;
for (var i = ind - 1; i >= 0 ; i--) {
datatablebody.removechild(datatablebody.childnodes[i]);
}
datadiv.style.border = "none";
}
</script>
<body leftmargin="0" topmargin="0">
<table cellspacing="0" cellpadding="0" width="778" align="center" border="0">
<tbody>
<tr>
<td height="10"></td>
</tr>
</tbody>
</table>
<table height="148" cellspacing="0" cellpadding="0" width="778" align="center" border="0">
<tbody>
<tr valign="top">
<td width="236">
<table width="375" height="340">
<!--dwlayouttable-->
<tbody>
<tr>
<td width="348" height="1">
</td>
<td height="1" width="29"></td>
</tr>
<tr>
<td height="13" width="348">
<table id="autonumber1" style="border- collapse: collapse" bordercolor="#111111" height="20" cellspacing="0" cellpadding="0" width="151" background="images/fu.gif" border="0">
<tbody>
<tr>
<td align="center" width="82">
<b>精品推荐</b>
</td>
<td align="center">
</td>
</tr>
</tbody>
</table>
</td>
<td height="13" width="29">
</td>
</tr>
<tr>
<td valign="top" height="328" width="348">
<table cellspacing="0" cellpadding="0" width="103%" border="0">
<tbody>
<tr>
<td width="50%">
<img id="1" onm- ouseover="getdetail(this);" οnmοuseοut="cleardata();" src="data:images/ibmt43bb4.jpg" vspace="6" border="0" alt="">
<a><b>
<br>
</td>
<td width="50%">
<br>
商品名称:
ibm-t43bb
<br>
会员价:2500元
<br>
</td>
</tr>
<tr>
<td width="50%">
<img id="2" onm- ouseover="getdetail(this);" οnmοuseοut="cleardata();" src="data:images/hpnc4200.jpg" vspace="6" border="0" alt="">
</td>
<td width="50%">
<br>
商品名称:
hp-nc4200
<br>
<br>
会员价: 1150元
<br>
</td>
</tr>
……
<tr>
<td valign="top" colspan="4" height="16" width="776">
</td>
</tr>
</tbody>
</table>
<div style="position:absolute;" id="popup">
<table bgcolor="#fffafa" border="0" cellspacing="2" cellpadding="2" />
<tbody id="databody">
</tbody>
</table>
</div>
</body>
</html>
转载于:https://www.cnblogs.com/zhengxi/archive/2010/06/10/1755285.html
Ajax(3)--DOM操作HTML 你忘记了吗?相关推荐
- MV* 框架 与 DOM操作为主 JS库 的案例对比
最近分别使用 Zepto 和 Avalon框架写了个 SPA项目,贴出来讨论下 JS DOM操作为主 JS库 与 MV* 框架的对比 案例(MV* 框架 与 DOM操作 JS库 实例对比) 购物车页面 ...
- java与jquery的选择器区别_java day44【JQuery 基础:概念,快速入门,JQuery对象和JS对象区别与转换,选择器,DOM操作,案例】...
第一章JQuery 基础 1. 概念: 一个JavaScript框架.简化JS开发 * jQuery是一个快速.简洁的JavaScript框架,是继Prototype之后又一个优秀的JavaScrip ...
- jQuery的DOM操作
jQuery的DOM操作 前期:http://blog.csdn.net/goodshot/article/details/20202019 1 , 创建元素节点 传统的javascript方法,创建 ...
- ajax与DOM的使用,AJAX和DOM的运行经验
AJAX和DOM的运行经验 更新时间:2007年03月07日 00:00:00 作者: 被AJAX中DOM的操作郁闷了好几天,今天总算搞明白了,自学就是苦啊,苦的一把鼻涕一把泪的, 把教训些出来, ...
- DOM操作 append prependTo after before
通过JavaScript可以很方便的获取DOM节点,从而进行一系列的DOM操作.但实际上一般开发者都习惯性的先定义好HTML结构,但这样就非常不灵活了. 试想下这样的情况:如果我们通过AJAX获取到数 ...
- JavaScript和jQuery的DOM操作
1.创建元素节点 传统的javascript方法,创建元素节点 程序代码 var a = document.createElement("p"); jQuery中创建节点的方法是 ...
- Django的Ajax加额外操作
---恢复内容开始--- choice参数 这个参数能够帮我们在数据库中存储数字,然后取出的时候,可以将其转换成相对应的字符,为什么这样呢,因为数字的存储所占的空间远小于字符的,这样能够节省资源. 用 ...
- java day44【JQuery 基础:概念,快速入门,JQuery对象和JS对象区别与转换,选择器,DOM操作,案例】...
第一章 JQuery 基础 1. 概念: 一个JavaScript框架.简化JS开发 * jQuery是一个快速.简洁的JavaScript框架,是继Prototype之后又一个优秀的JavaScr ...
- day05【JQuery框架】HTML引入Jquery、jQuery与JS区别、基本选择器、层级关系选择器、属性选择器、过滤选择器、 对象遍历、Jquery的DOM操作【重点】、Jquery事件绑定
回顾 1. bom对象window对象三种弹框alert()confirm()prompt()二种定时器一次性:setTimout() --- 通过递归实现循环性循环性:setInterval()lo ...
最新文章
- python中__name__属性的取值_Python脚本的“__name__”属性
- python画仿真图-仿真入门:几行 Python 代码实现复杂社会动力学
- 交通运输部:春节期间小客车免收高速通行费
- 计算机社团竞选优势6,社团社长竞选稿六篇
- shell linux教程,Shell入门基础知识
- 前端与java绘制三维图_使用HTML5 Canvas绘制三维波浪图算法和实现
- php foreach 引用注意
- 两个分数化简比怎么化_怎么化行最简形矩阵?
- anaconda + pycharm安装教程补充
- vscode安装vetur不高亮解决
- JAVA反射机制、Class类及动态加载、成员变量构造方法其他方法的反射与调用、代理模式AOP
- 忙了1天的qte-arm环境的搭建
- 模拟退火算法求解最优化问题
- wind python接口手册_接口手册 · wind- Client API 帮助中心 · 看云
- 前端程序员专用的在线工具箱
- 入门STM32--怎么学习STM32
- web结课作业的源码 HTML5+CSS大作业——个人博客-功能齐全(48页) html大学生网站开发实践作业
- Java小程序 个人缴税
- 微软:拿番茄花园开刀与反垄断无关
- 微课--Python使用UDP协议实现局域网内屏幕广播(40分钟)
热门文章
- linux中more cmd.txt,cmd.txt · 究极贾露露/linux-file - Gitee.com
- Google认证测试:CTS,CTS on GSI,VTS
- Java web实验购物网站(IDEA开发环境,JavaScript,JSP,Servlet,jQuery,Ajax,MySql等)——实现购物车
- 360站长平台关闭官网认证入口
- docker 搭建禅道
- HDU - 4966 GGS-DDU (最小树形图)
- 发光二极管(LED)的导通电压
- 百度OCR识别表格文字,并自动下载到本地(准确率很高)
- 腾讯35级员工高调离职,真实工资被曝光,牛逼的人果然都很会赚钱!
- 英语翻译题目——17