没有合适的资源?快使用搜索试试~ 我知道了~
网易云课堂之DOM编程艺术(原创带心得)
5星 · 超过95%的资源 需积分: 0 17 下载量 47 浏览量
2016-08-03
22:24:34
上传
评论
收藏 8.46MB DOCX 举报
温馨提示
试读
64页
借鉴网易云课堂视频内容缩写,全部经自己验证再创造,非抄袭。 内有自己实践写的各种代码
资源推荐
资源详情
资源评论
()子结点和兄弟结点
.rstElementChild
第一个子元素结点(是子中第一有标签的元素,如果单纯的文字是
不算的。
例如 div.rstElementChild
.lastElementChild
最后一个,同上
.nextElementSibling
下一个兄弟元素结点
.previousElementSibling
上一个兄弟元素结点
低版本 IE 浏览器不兼容的解决方案:
1. functionchildren(element){
2. if(!element.children){//不支持 element.children
3. variNodes =element.childNodes;
4. varresult=newArray;
5. for(vari = 0; i < iNodes.length; i++){
6. if(iNodes[i].nodeType == 1)//判断是否为元素节点
7. result.push(iNodes[i]);
8. }
9. returnresult;
10. }
11. else
12. returnelement.children;
13. }
()选择器
① 注意:单纯这样的代码的话,需要写在<body>标签的最后(准
确的说,是其指向的 dom 结点的最后),否则可能无法获取到结点。
选择器:
getElementById("")
通常是 document. getElementById("")
标签选择器:
getElementByTagName("");
例如:getElementById("li");获取的是一个数组,在调用其的
DOM 对象的范围内。注意,需要加双引号括起来
动态的:如果 DOM 树变化(例如减少了一个结点),其值也会跟
着变化
var b = .getElementsByTagName('form')[0];
var c = .getElementsByTagName('form')[0][0];
b.removeChild(c);
.dir(b);
选择器:
getElementByName("");
和上面的区别是没有 Tag。具体例如:
HTML:
<>账号:</><type="text"
name="account"/><>
JS:
.getElementsByName('account');
选择器:( 不支持)
getElementByClassName("");
获取的是一个数组,参数可以传多个 class 名。
关于兼容性设置:
function getElementsByClassName(root, className) {
if (root.getElementsByClassName) {
return root.getElementsByClassName(className);
} else {
var elements = root.getElementsByTagName('*');
var results = [];
for (var i = 0, element; element = elements[i]; i++) {
if (hasClassName(element, className)) {
result.push(element);
}
}
return result;
}
}
:(、 不支持, 部分支持)
获取第一个符合的元素/获取所有的;
例如:
HTML:
< id="yourForm">
<>账号:</><type="text" class="test"
name="account"/><>
<>密码:</><type="password"
class="test" name="password"/><>
</ >
JS:
var b = .querySelector('.test');
.dir(b);
输出:
input.test
具体查看后,指第一个 input
var b = .querySelectorAll('.test');
.dir(b);
输出:
NodeList[2]
即两个 input 都获取
非动态的:DOM 结点改变后其值不会变
②
!"#$ 创 建 结 点 , 标 签 名 就 是
#
例如:
var node = .createElement("div");
!%& 结点的文本内容(' 和以下不支持)
!(% 同上,但 ) % 不支持
因 此 假 如 要 做 兼 容 , 可 以 重 构 函 数 , 进 行 判 断 , 如 果 支 持
innerText 则用 innerText,如果不支持,返回 textContent
剩余63页未读,继续阅读
资源评论
- C_ai_yu2018-08-01非常棒,对我有用
qq20004604
- 粉丝: 1116
- 资源: 19
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功