一:两种获取元素方式的区别。1.var aLi = oUl.getElementsByTagName('li');TagName前面可以加其他东西,id就只能是document,2,Id是静态的,tagname是动态的,前者的获取无法获取后来js又添加的元素,3: tagname获取到的是很多元素。是一个集合,但不是数组,不过可以利用数组相似的特征属性,而且访问的时候要用xx【0】
4第三种特别的方法当获取的元素师页面唯一的时候 document.body.innerHtml="<input  type="button">或者直接字符串文字也可以的。document.title="这是标题内容"这两个有点区别,要注意。
二:什么时候用for循环,重复执行某些代码,每次执行,有一个数字在变化,以此来简化操作。
三:新手开始不知道js哪里错误的时候,可以用alet()进行逐行测试,自己取名理解为断点测试,
四:innerHtml的添加内容就是+=替换是=
body.innerHtml=插入的文字内容这个等号是替换的,赋值,也就是全部改变了。要想全部都要,需要这样,innerHtml body.innerHtml+=插入的文字内容(innerHtml 写法错误)
五:性能问题,for循环页面加载2000个按钮,将会产生5到10秒的页面延迟加载。
var arr = [ '今天', '明天', '后天' ];
var len = arr.length;
for( var i=0; i<len; i++ )
上面的代码做了优化,提前吧长度计算出来并且保存着,如果直接是i<arr.length,这样每次循环都要计算一次,性能优化很不好的
for( var i=0; i<6000; i++ ){
document.body.innerHTML += '<input type="button" value="按钮" />';
for本身并没有问题,但是上面的代码 document.body.innerHTML += '<input type="button" value="按钮" />';太坑爹会导致,每次都要进入body,一个一个进行查找,添加,特别费力,也要做优化的,
var str = '';
for( var i=0; i<6000; i++ ){
// document.body.innerHTML += '<input type="button" value="按钮" />';
str += '<input type="button" value="按钮" />';
}
document.body.innerHTML = str;
这样的话,只是单纯的计算字符串,并没有和页面body发生关系,也就变得很快了、
六:很重要的一个。innerHTML这个比较特殊,后面都是大写,必须注意。不然就会发生错误
七:oBtn.disabled=true;就让按钮不能按了。并不是每次都是style,本来写在css中是、、、
 
 

获取元素Bytagname区别/for循环应用的更多相关文章

  1. javascript querySelector和getElementById通过id获取元素的区别

    querySelector和getElementById通过id获取元素的区别 <!DOCTYPE html> <html> <head> <meta cha ...

  2. 原生JS与JQ获取元素的区别

    刚学JQ不久,有时候可能会把JS和JQ获取元素的方式搞错,接下来获取属性方法什么的就一发不可收拾了,现在把两者获取获取元素的代码整理下. 一.原生JS获取元素. 1.常用的三种方式获取元素对象(将指定 ...

  3. querySelectorAll和getElementsByClassName获取元素的区别

    querySelectorAll()方法是HTML5新增的方法,通过传入一个css选择符,返回所有匹配的元素而不仅仅是一个元素.这个方法返回的是一个NodeList的实例.那么它和通过getEleme ...

  4. mui选择器和dom获取元素的区别(记得把mui对象转为dom对象才能调用用dom方法)

    <!DOCTYPE html><html> <head><meta charset="UTF-8"><meta name=&q ...

  5. JS——通过标签获取元素、循环语句、数组去重

    通过标签获取元素: var aLi = document.getElementsByTagName('Li'); aLi[0].style.backgroundColor = 'gold'; 选中部分 ...

  6. JQ的offset().top与JS的getBoundingClientRect区别详解,JS获取元素距离视窗顶部可变距离

     壹 ❀ 引 我在 JQ的offset().top与js的offsetTop区别详解 这篇博客中详细分析了JQ方法offset().top与JS属性offsetTop的区别,并得出了一条offset( ...

  7. document.getElementById 和 document.getElementsByClassName获取DOM元素的区别

    想必小伙伴们对于 JS 获取DOM的几种方法早已烂熟于心,了然于胸,   尤其是 document.getElementById 和 document.getElementsByClassName, ...

  8. js中用tagname和id获取元素的3种方法

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  9. JS获取元素CSS值的各种方法分析

    先来看一个实例:如何获取一个没有设置大小的字体? <!DOCTYPE html> <html lang="en"> <head> <met ...

随机推荐

  1. select2,利用ajax高效查询大数据列表(可搜索、可分页)

    二.导入css和js到网站上 1.使用CDN,节省自己网站的流量 ? 1 2 <link href="https://cdnjs.cloudflare.com/ajax/libs/se ...

  2. .Net HttpWebRequest 爬虫核心爬取

    1 爬虫,爬虫攻防 2 下载html 3 xpath解析html,获取数据和深度抓取(和正则匹配) 4 多线程抓取 熟悉http协议 提供两个方法Post和Get public static stri ...

  3. IOC模式及Unity框架文章收藏

    1.IoC模式:http://www.cnblogs.com/qqlin/archive/2012/10/09/2707075.html 通过Unity实现IOC容器. 2.深入理解DIP.IoC.D ...

  4. 脚本执行JavaScript代码

    下面是一个具体的demo测试脚本引擎,执行javas文件. package Rhino; import java.io.FileReader;import java.net.URL; import j ...

  5. python创建矩阵

    创建二维数组的办法 直接创建(不推荐) 列表生产式法(可以去列表生成式 - 廖雪峰的官方网站学习) 使用模块numpy创建 举个栗子: 创建一个3*3矩阵,并计算主对角线元素之和. import nu ...

  6. atcode062D(预处理&优先队列)

    题目链接:http://abc062.contest.atcoder.jp/tasks/arc074_b 题意:从3*n个元素中删除n个元素,使得剩余元素中前n个元素的和减后n个元素的和最大: 思路: ...

  7. 洛谷P1578 奶牛浴场

    P1578 奶牛浴场 题目描述 由于John建造了牛场围栏,激起了奶牛的愤怒,奶牛的产奶量急剧减少.为了讨好奶牛,John决定在牛场中建造一个大型浴场.但是John的奶牛有一个奇怪的习惯,每头奶牛都必 ...

  8. uva11400 Lighting System Design

    题目大意: 有一个照明系统需要用到n种灯,每种灯的电压为V,电源费用K,每个灯泡费用为C,需要该灯的数量为L.注意到,电压相同的灯泡只需要共享一个对应的电源即可,还有电压低的灯泡可以被电压高的灯泡替代 ...

  9. 洛谷P4318 完全平方数(容斥,莫比乌斯反演)

    传送门 求第$k$个没有完全平方数因数的数 一开始是想筛一波莫比乌斯函数,然后发现时间复杂度要炸 于是老老实实看了题解 一个数的排名$k=x-\sum_{i=1}^{x}{(1-|\mu(i)|)}$ ...

  10. MySQL审计工具Audit Plugin安装使用

    本实验的审计插件均是安装在 mysql-community-server-5.7.9 的服务器上. 插件安装(社区版) 插件下载地址: https://bintray.com/mcafee/mysql ...