js中DOM集合的动态特性】的更多相关文章

先引出一个问题:通过调用getElements*()这样的方法返回来类(伪)数组,能对其本身的元素进行排序吗? 答案是不能,因为这些对象的都是NodeList . NamedNodeMap 或 HTMLCollection的实例.他们都是“动态的”.所谓动态就是每次调用实例上的方法,都会运行一次基于文档的查询.下面的代码会造成死循环 1 var oDivs = document.getElementsByTagName("div"); 2 for (var i = 0; i <…
什么是DOM DOM:文档对象模型.DOM 为文档提供了结构化表示,并定义了如何通过脚本来访问文档结构.目的其实就是为了能让js操作html元素而制定的一个规范. DOM就是由节点组成的. 解析过程 HTML加载完毕,渲染引擎会在内存中把HTML文档,生成一个DOM树,getElementById是获取内中DOM上的元素节点.然后操作的时候修改的是该元素的属性. DOM树(一切都是节点) DOM的数据结构如下: 上图可知,在HTML当中,一切都是节点:(非常重要) 元素节点:HMTL标签. 文本…
一.'表亲戚':attribute和property 为什么称attribute和property为'表亲戚'呢?因为他们既有共同处,也有不同点. attribute 是 dom 元素在文档中作为 html 标签拥有的属性: property 是 dom 元素在 js 中作为对象拥有的属性. 从定义上可以看出: 对于 html 的标准属性来说,attribute 和 property 是同步的,是会自动更新的 但是对于自定义的属性来说,他们是不同步的.(自定义属性不会自动添加到property)…
一.bom对象 1screen对象 console.log(screen.width);// 屏幕宽度 console.log(screen.height);// 屏幕高度 console.log(screen.availWidth); //可用宽度 console.log(screen.availHeight); //可用高度=屏幕高度-底部任务栏 2location对象 完整的URL路径:协议://主机名(IP地址):端口号/文件路径?传递参数(name1=value1&name2=valu…
1.前言: 最近在做的看板项目,因为需要循环加载后台数据,并且用Echarts做数据呈现,所以jQuery和angular等库统统靠边站,Echarts用的是原生js获取DOM元素,至于诸多不兼容等深水坑我就不多赘述了. 2.问题引入: 当我通过Ajax从后端取到需要展示的数据,拿过来动态渲染到页面上,增加Dom元素是常有的事,这个时候就会报错说Echarts没有获取到元素id. 3.解决方案: 至于要在外面包一个延时器,当然我试了一下即使把延时时间改到0也是能够顺利加载的. 暂时就这么解决了这…
开发中遇到了用js解析重新组装json数据的要求,关键点在于JSON中的串的键是动态的,多方查找解决了在此做个记录.同时我也深感js中循环的无赖,如果用i作为键会得到索引,用key作为循环变量竟然可以得到key,不太理解这种设计,暂且记录下来吧. var jsonObj =JSON.parse(data.json); console.log("payProductMap是:"+JSON.stringify(jsonObj.payProductMap)); var payProductM…
节点属性 Node.nodeName //返回节点名称,只读 Node.nodeType //返回节点类型的常数值,只读 Node.nodeValue //返回Text或Comment节点的文本值,只读 Node.textContent //返回当前节点和它的所有后代节点的文本内容,可读写 Node.baseURI //返回当前网页的绝对路径   Node.ownerDocument //返回当前节点所在的顶层文档对象,即document Node.nextSibling //返回紧跟在当前节点…
事件 纲要 理解事件流 使用事件处理程序 不同的事件类型 javascript和html的交互是通过事件实现的.事件就是文档或浏览器窗口发生的一些特定交互瞬间.可以使用侦听器(事件处理程序)预定事件,以便事件发生时执行相应的代码. 1 事件流 浏览器发展到第四代时(IE4和Netscape communicator4)都认为,当你单击某个按钮时,在单击这个按钮的同时,你也单击了包含这个按钮的容器甚至整个页面.就如同你用手指指向一同心圆的圆心,你指向的不单是一个圆,而是以这个圆心为圆心的所有圆.所…
一.DOM操作 DOM节点的操作 增加 删除 修改 节点的信息: nodeName 获取节点的标签名 parentNode 获取父节点 childNodes IE忽略回车换行,chrome回车换行是文本节点 nodeType 节点类型: 1:元素节点 3:文本节点 9:document节点 2:属性节点 firstChild(支持IE浏览器) || firstElementChild(支持谷歌浏览器) //获取第一个子节点 var fc = ulDom.firstElementChild ||…
Click--点击事件 优先级:dom.onclick 高于标签上的onClick属性 监听事件 --不会覆盖前面的事件效果 dom.addEventListener()    括号里面有三个参数 1.事件类型  2.回调函数,执行事件后触发的操作 3.决定事件是冒泡还是捕获  默认值是false(冒泡) true(捕获) 事件冒泡:事件从内部像外传播,外层元素如果有相同的事件,也会触发 通过innerHTML改变元素内容时,会清除内部原有的绑定事件. 循环绑定事件时,动态添加的元素没有事件 事…