Dom操作高级应用
table
tBodies,tHead,tFoot,rows,cells
一个table有多个tbody
oTab.tBodies[0].rows[i].style.background = "#ccc";
示例:隔行换色
window.onload = function(){
var oTab = document.getElementById("tab1");
var oldColor; //关键点:保存行的旧样式
oTab.tBodies[0].rows[0].cells[1].innerHTML = "jack";
for(var i=0; i<oTab.tBodies[0].rows.length; i++){
if(i%2==0){
oTab.tBodies[0].rows[i].style.background = "#ccc";
}
else{
oTab.tBodies[0].rows[i].style.background = "";
}
oTab.tBodies[0].rows[i].onmouseover = function(){
oldColor = this.style.background; //保存行的旧样式
this.style.background = "green";
}
oTab.tBodies[0].rows[i].onmouseout = function(){
this.style.background = oldColor;
}
}
}
添加删除行
+++++++++++++++++++++++++++++++++++++++
window.onload = function(){
var oTab = document.getElementById("tab1");
var oName = document.getElementById("txtName");
var oAge = document.getElementById("txtAge");
var oBtn = document.getElementById("btn1");
var maxId = oTab.tBodies[0].rows.length + 1; //第一种
oBtn.onclick = function(){
var oTr = document.createElement("tr");
var oTd1 = document.createElement("td");
var oTd2 = document.createElement("td");
var oTd3 = document.createElement("td");
var oTd4 = document.createElement("td");
//var oA = document.createElement("a");
var length =oTab.tBodies[0].rows.length;
//var maxId =oTab.tBodies[0].rows[length-1].cells[0].innerHTML; //第二种
//oTd1.innerHTML = parseInt(maxId) + 1;
oTd1.innerHTML = maxId++;
oTd2.innerHTML = oName.value;
oTd3.innerHTML = oAge.value;
oTd4.innerHTML = '<a href="javascript:;">删除</a>';
/*
oA.innerHTML = "删除";
oA.setAttribute("href","javascript:;");
oTd4.appendChild(oA);
*/
oTr.appendChild(oTd1);
oTr.appendChild(oTd2);
oTr.appendChild(oTd3);
oTr.appendChild(oTd4);
////异常: 删除新添加行正常,删除旧行不正常
oTd4.getElementsByTagName("a")[0].onclick=function(){
oTab.tBodies[0].removeChild(this.parentNode.parentNode);
}
oTab.tBodies[0].appendChild(oTr);
}
// 异常:新添加的行不能删除
var aA = oTab.tBodies[0].getElementsByTagName("a");
for(var i=0; i<aA.length; i++){
aA[i].onclick = function(){
oTab.tBodies[0].removeChild(this.parentNode.parentNode);
}
}
}
表格搜索
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
window.onload = function(){
var oTxt = document.getElementById("txt1");
var oBtn = document.getElementById("btn1");
var oTab = document.getElementById("tab1");
oBtn.onclick = function(){
for(var i=0; i<oTab.tBodies[0].rows.length; i++){
var oRow = oTab.tBodies[0].rows[i];
var vTd = oRow.cells[1].innerHTML;
//if(oTxt.value == vTd){
//if(vTd.search(oTxt.value) != -1){ //模糊搜索str.search()
//if(vTd.toLowerCase().search(oTxt.value.toLowerCase()) != -1){ //模糊搜索str.search() + 忽略大小写
//关联搜索 如“张,李”
var arr = oTxt.value.split(',');
oRow.style.background = "";
for(var j=0; j<arr.length; j++){ //这里不能再定义i,否则会出问题
if(vTd.toLowerCase().search(arr[j].toLowerCase()) != -1){ //模糊搜索str.search() + 忽略大小写
oRow.style.background = "green";
}
}
}
}
}
Dom操作高级应用的更多相关文章
- Javascript高级编程学习笔记(45)——DOM 操作表格及DOM动态集合
操作DOM表格 早些时候,HTML 还是以表格布局为主, 所以DOM操作表格是比较重要的一点 但是现如今 有其它的选择,所以表格的操作也就慢慢地淡出了人们的视线 所以这里也就不过多去详细展开,这里也就 ...
- 解密jQuery内核 DOM操作的核心函数domManip
domManip是什么 dom即Dom元素,Manip是Manipulate的缩写,连在一起就是Dom操作的意思. .domManip()是jQuery DOM操作的核心函数 对封装的节点操作做了参数 ...
- 第25篇 jQuer快速学习(上)---选择器和DOM操作
这个文章经历的时间比较长,不是因为jQuery比较难,而是东西比较多,真心是个体力活.所以本来想把jQuery做成一篇去写,但由于写的时候发现jQuery发现写成一篇的话过于长,对于阅读起来也不是一个 ...
- 迷你MVVM框架 avalonjs 沉思录 第2节 DOM操作的三大问题
jQuery之所以击败Prototype.js,是因为它自一开始就了解这三大问题,并提出完善的解决方案. 第一个问题,DOM什么时候可用.JS不像C那样有一个main函数,里面的逻辑不分主次.但JS是 ...
- Python之路day13 web 前端(JavaScript,DOM操作)
参考链接:http://www.cnblogs.com/wupeiqi/articles/5433893.html day13 1. CSS示例 2. JavaScript 3. DOM操作 上节内容 ...
- DOM 操作属性
DOM操作就是针对对象的操作 先写一个按钮,<input tupe="button" value="" id="id"> 这 ...
- JS核心之DOM操作 下
目录: 1.节点类型之Document类型 2.节点类型之Element类型 3.节点类型之Text类型 4.综合小示例 -- 动态添加外部样式文件 5.查找元素的扩展方法 接上篇,我们先来看常用的三 ...
- 前端学习(二十三)DOM操作,事件(笔记)
javascript 组成部分 1.ECMAScript javascript的核心解释器 2.DOM Document Object Modle 文 ...
- DOM操作标签,事件绑定,jQuery框架
DOM操作标签 ''' 在起变量名的时候 如果该变量指向的是一个标签 那么建议使用 xxxEle eg:aEle\pEle\divEle\spanEle ''' 基本使用 动态创建一个标签 var 变 ...
随机推荐
- WPF 设置WebBrowser控件不弹脚本错误提示框
using System.Reflection; using System.Windows; using System.Windows.Controls; using System.Windows.N ...
- Storm集群中执行的各种组件及其并行
一.Storm中执行的组件 我们知道,Storm的强大之处就是能够非常easy地在集群中横向拓展它的计算能力,它会把整个运算过程切割成多个独立的tasks在集群中进行并行计算.在Storm中 ...
- 我在开发网站后得出的asp.Net网站优化总结
原文:我在开发网站后得出的asp.Net网站优化总结 asp.Net网站优化总结: 1.数据库优化: 首先是对查询语句的优化,开发时为了图快可以不考虑,但是后期维护时就必须要优化(比如:你调用代码生成 ...
- 【Bug Fix】Error : Can't create table 'moshop_1.#sql-534_185' (errno: 150)
运行alter操作, alter table xx_shop_info add index FK9050F5D83304CDDC (shop_area), add constraint FK9050F ...
- 【转】Vim学习资料
初学资料:1:一个介绍VIM操作的游戏,十分适合初学者.只是:不要怕英文.vim-adventures.com2:http://blog.csdn.net/niushuai666/article/de ...
- 单片机实验: 三轴磁场模块 GY-271
最近买了一块三轴磁场模块进行实验 名称:HMC5883L模块(三轴磁场模块) 型号:GY-271 使用芯片:HMC5883L 供电电源:3-5v 通信方式:IIC通信协议 测量范围:±1.3-8 高斯 ...
- SE 2014年4月22日(二)
如图配置: 网络中存在三个公有AS 其中AS200使用了 BGP联盟技术(如图配置) 在AS 100 中R1上起源了四条BGP路由,(1)要求全网BGP设备均能够正常学习 (2)要求:(使用BGP团体 ...
- NGUI研究之在Unity中使用贝塞尔曲线
鼎鼎大名的贝塞尔曲线相信大家都耳熟能详.这两天由于工作的原因须要将贝塞尔曲线加在project中.那么我迅速的研究了一下成果就分享给大家了哦.贝塞尔曲线的原理是由两个点构成的随意角度的曲线,这两个点一 ...
- Conversion to Dalvik format failed: Unable to execute dex
最近莫名奇妙遇到“Conversion to Dalvik format failed: Unable to execute dex”错误,stackoverflow以后得到结果 把项目中classp ...
- 【转向Javascript系列】深入理解Generators
随着Javascript语言的发展,ES6规范为我们带来了许多新的内容,其中生成器Generators是一项重要的特性.利用这一特性,我们可以简化迭代器的创建,更加令人兴奋的,是Generators允 ...