JS学习第四课
- 当我们删除某列表格,再添加新的一列时,它的序号该如何控制呢。这里id=oTab.tBodies[0].rows.length+1 otd.innerHTML=id++; 很关键哦。
- 还有一个关键点要再重复强调 tBodis【0】!!!
<script type="text/javascript">
window.onload=function(){
var oTab=document.getElementById('tab1')
var obtn=document.getElementById('btn1')
var otex1=document.getElementById('name')
var otex2=document.getElementById('age')
var id=oTab.tBodies[0].rows.length+1
obtn.onclick=function(){
var otr=document.createElement('tr') var otd=document.createElement('td')
otd.innerHTML=id++;
otr.appendChild(otd) var otd=document.createElement('td')
otd.innerHTML=otex1.value
otr.appendChild(otd) var otd=document.createElement('td')
otd.innerHTML=otex2.value
otr.appendChild(otd) var otd=document.createElement('td')
otd.innerHTML='<a href="javascript:;">删除</a>'
otr.appendChild(otd) otd.getElementsByTagName('a')[0].onclick=function(){
oTab.tBodies[0].removeChild(this.parentNode.parentNode)
}
oTab.tBodies[0].appendChild(otr)
}
}
</script> - 不区分大小写的搜索toLowerCase()
- 模糊搜索 split search !=-1
<script type="text/javascript">
window.onload=function(){
var otab=document.getElementById('tab1')
var obtn=document.getElementById('btn1')
var otex=document.getElementById('name') obtn.onclick=function(){
for(i=0;i<otab.tBodies[0].rows.length;i++){
var stex=otex.value.toLowerCase();
var stab=otab.tBodies[0].rows[i].cells[1].innerHTML.toLowerCase();
var arr=stex.split(' ')
otab.tBodies[0].rows[i].style.background=''
for(j=0;j<arr.length;j++){
if(stab.search(arr[j])!=-1){
otab.tBodies[0].rows[i].style.background='yellow'
}
}
}
}
}
</script>
JS学习第四课的更多相关文章
- Elasticsearch7.X 入门学习第四课笔记---- Search API之(Request Body Search 和DSL简介)
原文:Elasticsearch7.X 入门学习第四课笔记---- Search API之(Request Body Search 和DSL简介) 版权声明:本文为博主原创文章,遵循CC 4.0 BY ...
- vue.js学习(第一课)
学习资料 来自台湾小凡! vue.js是javascript的一个库,只专注于UI层面,核心价值永远是 API的简洁. 第一课: 不支持IE8. 1.声明式渲染: el元素的简称 element : ...
- Ext JS学习第四天 我们所熟悉的javascript(三)
此文用来记录学习笔记: •javascript之函数 •this关键字的使用 –this关键字总是指向调用者,谁调用函数,this就指向谁 •call.apply的使用 –call和apply主要应用 ...
- Asp.net MVC4高级编程学习笔记-模型学习第四课基架与模型绑定20171027
MVC模型 一.构建基架. MVC中的基架可以为应用程序提供CURD各种功能生成所需要的样板代码.在添加控制器的时候可以选择相应的模板以及实体对象来生成相应的模板代码. 首先定义一个模型类如下所示: ...
- Linux课程学习 第四课
学习必须如蜜蜂一样,采过许多花,这才能酿出蜜来 这月事比较多,每课的笔记都会慢慢补回来的,做事得有始有终 在网络上,人们越来越倾向于传输压缩格式的文件,原因是压缩文件体积小,在网速相同的情况下,传输时 ...
- Es学习第四课, 倒排索引
大家知道,ES的发明者初衷是想做一个搜索引擎给自己老婆用来搜菜谱,所以ES的核心工作就是做搜索,下面我们就开始讲关于搜索方面的知识点. DOC的概念我们第一课就讲过,它是ES存储数据的最小单元,我们再 ...
- js学习(四)
一.typeof 操作符,null, undefinde 1. typeof 操作符来检测变量的数据类型. typeof "John" // 返回 string typeof 3. ...
- JS学习笔记 (四) 数组进阶
1.基本知识 1.数组是值的有序集合.每个值叫做一个元素,而每个元素在数组中的位置称为索引,以数字表示,以0开始. 2.数组是无类型的.数组元素可以是任意类型,并且同一个数组中的不同元素也可能有不同的 ...
- D3.js学习(四)
上一节我们已经学习了线条样式和格栅的绘制,在这一节中我们将要根据之前绘制的线条对图表进行填充,首先来看一下我们的目标吧 在这个图表中,我们对位于线条下面的空间进行了填充,那么,如何改做到呢? 设置填充 ...
随机推荐
- [Angular2 Router] Understand the Angular 2 Base href Requirement
The <base href=”/”/> you define will determine how all other assets you plan on loading treat ...
- 从命令行运行django数据库操作
从命令行运行django数据库操作,报错: django.core.exceptions.ImproperlyConfigured: Requested setting DEFAULT_INDEX_T ...
- oc-16-set,get方法
S.h #import <Foundation/Foundation.h> /** 解决方案: 1.不用@public修饰 2.我们对象有访问和设置成员变量的两种操作 1>设置值 p ...
- open和fopen的区别
open和fopen的区别: 1.缓冲文件系统缓冲文件系统的特点是:在内存开辟一个“缓冲区”,为程序中的每一个文件使用,当执行读文件的操作时,从磁盘文件将数据先读入内存“缓冲区”, 装满后再从内存“缓 ...
- fs/ext2/inode.c相关函数注释
用数组chain[4]描述四种不同的索引,即直接索引.一级间接索引.二级间接索引.三级间接索引.举例说明这个结构各个域的含义.如果文件内的块号为8,则不需要间接索引,所以只用chain[0]一个Ind ...
- 项目源码--Android类似酷狗音乐播放器
下载源码 知识技能概要: 1.音乐文件的扫描与管理 2.音频流的解码 3. UI控件的综合使用 4.播放列表方式管理 5.随机播放方式 6.源码带详细的中文注释 ...... 详细介绍 1. 音乐文件 ...
- Frogs' Neighborhood
Frogs' Neighborhood Time Limit: 5000MS Memory Limit: 10000K Total Submissions: 7920 Accepted: 33 ...
- C. Mobile phones
Suppose that the fourth generation mobile phone base stations in the Tampere area operate as follows ...
- IOS plist轻量级操作
plist,全名PropertyList,即属性列表文件,它是一种用来存储串行化后的对象的文件.这种文件,在ios开发过程中经常被用到.这种属性列表文件的扩展名为.plist,因此通常被叫做plist ...
- jQery放大镜效果
简单2:1的放大 <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> < ...