JSDOM

JS中的DOM操作

【DOM树节点】

DOM节点分为三大类: 元素节点、 属性节点、 文本节点;、

文本节点、属性节点属于元素节点的子节点。操作时,均需要先取到元素节点,再操作子节点;

可以使用getElement系列方法,取到元素节点。

【查看元素节点】

1、getElementById:通过id取到唯一节点。如果ID重名,只能取到第一个。

getElementsByName(): 通过name属性

getElementsByTagName(): 通过标签名

getElementsByClassName(): 通过class名

>>> 获取元素节点时,一定要注意:获取节点的语句,必须在DOM渲染完成之后执行。 可以有两种方式实现:

① 将JS代码写在body之后; ② 将代码写到window.onload函数之中;

>>> 后面三个getElements,取到的是数组格式。不能直接添加各种属性,而应该取出数组的每一个单独操作。

例如:getElementsByName("name1")[0].onclick = function

【查看/设置属性节点】

1、查看属性节点:getAttribute("属性名");

2、设置属性节点:setAttribute("属性名","新属性值");

>>> 查看和设置属性节点,必须先取到元素节点,才能使用。

>>> setAttribute();函数在IE浏览器中可能会存在兼容性问题。比如在IE中不支持使用这个函数设置style/onclick等样式属性和事件属性。

>>> 我们推荐使用点符号法替代上述函数:

eg: dom1.style.color="" dom1.onclick="" dom1.src=""

【总结-JS修改DOM节点的样式】

1、 使用setAttribute()设置class和style属性,但是存在兼容性问题,不提倡

div.setAttribute("class","cls1");

2、 使用.className直接设置class类,注意是className而不是.class:

div.className = "cls1";

3、 使用.style设置单个属性,注意属性名要是用驼峰命名法:

div.style.backgroundColor = "red";

4、 使用.style 或 .style.cssText 设置多个样式属性:

div.style = "background-color:red; color:yellow;"

div.style.cssText = "background-color:red; color:yellow;" √

【查看设置文本节点】

1、 .innerText: 取到或设置节点里面文字内容;

.innerHTML: 取到或设置节点里面的HTML代码;

.tagName: 取到当前节点的标签名。 标签名全部大写显示。

【根据层次获取节点】

1 .childNodes: 获取元素的所有子节点。包括回车等文本节点。

.children: 获取当前元素的所有元素节点(只获取标签)。

2 .firstChild: 获取元素的第一个子节点。包括回车等文本节点。

.firstElementChild: 获取元素的第一个子节点。不包括回车等文本节点。

.lastChild: 获取元素的最后一个子节点。包括回车等文本节点。

.lastElementChild:

3 .parentNode: 获取当前节点的父节点。

4 .previousSibling: 获取当前节点的前一个兄弟节点;包括回车等文本节点。

.previousElementSibling:

5 .nextSibling: 获取当前节点的后一个兄弟节点;包括回车等文本节点。

.nextElementSibling:

6 .getAttributes: 获取当前节点的属性节点。

[表格对象]

1、 rows属性: 返回表格中的所有行,是一个数组格式;

2、 insertRow(index): 在指定位置插入一行,index从0开始;

3、 deleteRow(index): 删除指定的一行,index从0开始;

为实现以下结果:

[行对象]

1、 cells属性: 返回这一行中的所有单元格,是一个数组格式;

2、 rowIndex属性: 返回这一行是表格中的第几行,从0开始;

3、 insertCell(index): 在这一行指定位置,插入一个单元格,index从0开始;

4、 deleteCell(index): 删除这一行的指定单元格,index从0开始

[单元格对象]

1、 cellIndex属性: 返回这个单元格是本行的第几个,从0开始;

2、 innerText innerHTML align className

时间: 2024-10-06 09:17:02

JSDOM的相关文章

JAVAscript学习笔记 jsDOM 第五节 (原创) 参考js使用表

<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>JsDOM对象</title> <script type="text/javascript" src="tzy.js"></script> </head> <body>

JS-DOM基础

1     JS-DOM 全称:document object model 1.1 获取页面元素 getElementsByTagName():无论元素的数量是多少,都会存入数组 getElementById(): getElemnetsByClassName():不推荐使用,有兼容问题. 1.2 标签的自定义属性 1)        通过在html里直接在标签中添加属性: 2)        通过JS添加属性:标签.属性=值: 3)        setAttribute(a,b)设置值为b的

JS-DOM:Event 对象

事件(event)由事件及事件方法组成:  (事件对象的兼容写法:window.event||event) 1.鼠标事件: mousedown.mousemove.mouseup.ondbclick.contextmenu... 2.表单事件: focus.blur.submit.change... 3.键盘事件 keydown.keyup.keypress... 4.阻止冒泡 oEvent.cancelBubble=true; 5.阻止默认事件 return false; 6.键盘方法 key

闲来无事爬了下通讯录 试手 jsdom

curl http://xxx.com/address/addresslist\?search\=%40 --cookie oa_cookie=123 -s| node parss .js js 代码 var jsdom = require('jsdom') ,fs = require('fs') process.stdin.setEncoding('utf8'); var html = '' process.stdin.on('readable', function() { var chunk

JS-DOM:获取计算后的样式(同时兼容IE跟其他浏览器)

HTML部分 <div id="div1" style="">打发第三方</div> CSS部分 <style type="text/css">#div1{    height: 100px;    width: 100px;    font-size: 12px;    background-color: #ccc;}</style> JS部分 方法一: <script> window

JS-DOM:基础实操---瀑布流排版

CSS部分 <style type="text/css">#wrap{    width: 980px;    margin: 0 auto;    border: 1px solid blue;}#wrap ul{    width: 250px;    margin: 10px;    border: 1px solid #ccc;    float: left;    padding: 0;}#wrap ul li{    width: 248px;    list-

JS-DOM:基础实操---点击回到顶部

CSS部分 <style type="text/css">body{    height: 3000px;}#div1{    height: 100px;    width: 100px;    background-color: #ccc;    position: fixed;    right: 0;    bottom: 0;}    </style> HTML部分 <body><div id="div1">

JS-DOM:基础知识(一)

1.childNodes 属性可返回指定节点的子节点的节点列表(childNodes在firefox会选取空白节点) <script> window.onload=function(){ var oUl=document.getElementById("ul1"); alert(oUl.childNodes.length);//获取子节点长度:11 } </script> <ul id="ul1">    <li>我是

JS-DOM:基础实操---以“对联”方式固定在页面

主要见于:天猫主页右侧的固定栏.京东主页右侧固定栏 方法一: CSS部分: <style type="text/css">body{    height: 3000px;}#div1{    width: 50px;    height: 150px;    background-color: #ccc;    position: absolute;    right: 0;    /*top: 50%;*/    /*margin-top: -75px;*/}</s

JS-DOM:基础实操---模仿新浪微博的发布

CSS部分 <style>* { padding: 0; margin: 0; }li { list-style: none; }body { background: #f9f9f9; font-size: 14px; } #box { width: 450px; padding: 10px; border: 1px solid #ccc; background: #f4f4f4; margin: 10px auto; }#fill_in { margin-bottom: 10px; }#fi