html:

<h1>找对象</h1>
<div id="div1">
<p>p1</p>
<p>p2</p>
<p>p3</p>
</div>
<div class="div2"></div>
<input type="text" name="username" value="uname">

js:

① Id

console.log(document.getElementById("div1"));

输出:

<div id="div1">
<p>p1</p>
<p>p2</p>
<p>p3</p>
</div>

类型是 [object HTMLDivElement]

② TagName

console.log(document.getElementsByTagName("p"));
console.log(document.getElementsByTagName("p").length);
console.log(document.getElementsByTagName("h1"));

输出:

[p, p, p, item: function, namedItem: function]
0: p
1: p
2: p
length: 3
__proto__: HTMLCollection

类型是 [object HTMLCollection] 对象集合

3

[h1, item: function, namedItem: function]
0: h1
length: 1
__proto__: HTMLCollection

操作集合中的某个元素:

var ps = document.getElementsByTagName("p");
ps[1].style.background = 'blue';

③ 表单元素 Name

console.log(document.getElementsByName("username"));

输出:

[input, item: function]
0: input
length: 1
__proto__: NodeList

类型 [object NodeList] 节点列表

读取其中一个表单元素的 value

var username = document.getElementsByName("username");
console.log(username[0].value);

输出:

uname

操作其中一个表单元素的 value

username[0].value = 'dee';

或者直接

document.getElementsByName("username")[0].value = "dee";

④ ClassName (ie6/ie7/ie8 的 document 对象是没有 getElementByClassName 这个属性的)

console.log(document.getElementsByClassName("div2"));

输出:

[div.div2, item: function, namedItem: function]
0: div.div2
length: 1
__proto__: HTMLCollection

类型 [object HTMLCollection]

⑤ 找子对象 / 父对象 children / parent(可在 W3C 手册中查找)

console.log(document.getElementById("div1").childNodes);

输出:

[text, p, text, p, text, p, text, item: function]
0: text
1: p
2: text
3: p
4: text
5: p
6: text
length: 7
__proto__: NodeList

在 DOM 中,一个注释、一个换行、一个空格都看成是一个节点

另外,除了 childNodes 外,children 也可以用来表示子节点(并不是 W3C 的规范,但是各个浏览器都支持),使用 children 属性时,例如上例遍历 #div1 的子节点时,会自动过滤例如换行、空白等 空白节点

console.log(document.getElementById("div1").children);

输出:

[p, p, p, item: function, namedItem: function]
0: p
1: p
2: p
length: 3
__proto__: HTMLCollection

父节点

console.log(document.getElementsByTagName("p")[0].parentNode);

输出:

<div id="div1">
<p>p1</p>
<p style="background: blue;">p2</p>
<p>p3</p>
</div>

也可以操作父节点的属性

document.getElementsByTagName("p")[0].parentNode.style.border = '1px solid #eee')

Javascript 笔记与总结(2-7)对象的更多相关文章

  1. [Effective JavaScript 笔记]第4章:对象和原型--个人总结

    前言 对象是js中的基本数据结构.对象在js语言编码中也随处可见,比如经常会用到的函数,也是一个Function构造函数,Function.prototype原型对象.每当声明一个函数时,都会继承Fu ...

  2. [Effective JavaScript 笔记] 第4条:原始类型优于封闭对象

    js有5种原始值类型:布尔值.数字.字符串.null和undefined. 用typeof检测一下: typeof true; //"boolean" typeof 2; //&q ...

  3. [Effective JavaScript 笔记]第28条:不要信赖函数对象的toString方法

    js函数有一个非凡的特性,即将其源代码重现为字符串的能力. (function(x){ return x+1 }).toString();//"function (x){ return x+ ...

  4. Javascript 笔记与总结(2-4)Javascript 内置对象

    ① String 字符串对象 fromCharCode() 静态方法, 用作为参数而传递的字符代码创建一个新的字符串. length 字符串的长度. charAt() 抽取字符串中指定位置的字符. c ...

  5. [Effective JavaScript 笔记] 第5条:避免对混合类型使用==运算符

    “1.0e0”=={valueOf:function(){return true;}} 是值是多少? 这两个完全不同的值使用==运算符是相等的.为什么呢?请看<[Effective JavaSc ...

  6. [Effective JavaScript 笔记]第3章:使用函数--个人总结

    前言 这一章把平时会用到,但不会深究的知识点,分开细化地讲解了.里面很多内容在高3等基础内容里,也有很多讲到.但由于本身书籍的篇幅较大,很容易忽视对应的小知识点.这章里的许多小提示都很有帮助,特别是在 ...

  7. 从头开始学JavaScript 笔记(一)——基础中的基础

    原文:从头开始学JavaScript 笔记(一)--基础中的基础 概要:javascript的组成. 各个组成部分的作用 . 一.javascript的组成   javascript   ECMASc ...

  8. 【原】javascript笔记之Array方法forEach&map&filter&some&every&reduce&reduceRight

    做前端有多年了,看过不少技术文章,学了新的技术,但更新迭代快的大前端,庞大的知识库,很多学过就忘记了,特别在项目紧急的条件下,哪怕心中隐隐约约有学过一个方法,但会下意识的使用旧的方法去解决,多年前ES ...

  9. jQuery:自学笔记(4)——事件与事件对象

    jQuery:自学笔记(4)——事件与事件对象 jQuery中的事件 什么是事件 所谓事件,就是被对象识别的操作,即操作对象队环境变化的感知和反应,例如单击按钮或者敲击键盘上的按键. 所谓事件流,是指 ...

  10. JavaScript笔记(第一章,第二章)

    JavaScript笔记(第一章,第二章) 第一章: <meta http-equiv="Content-Type" content="text/html; cha ...

随机推荐

  1. 开启InnoDB每表一个独立的表空间

    mysql> show variables like '%innodb%'; +---------------------------------+----------------------- ...

  2. PHP使用七牛云存储之图片的上传、下载、303重定向教程,CI框架实例

    网上关于七牛云存储的教程除了官网上的API文档,其他的资料太少了.研究了下API之后,现在已经能实现图片的上传和下载及上传之后的重定向. http://blog.csdn.net/cqcre/arti ...

  3. Net4.0---AspNet中URL重写的改进(转载)

    转载地址:http://www.cnblogs.com/oec2003/archive/2010/07/27/1785862.html URL重写有很多的好处,如有利于SEO.便于记忆.隐藏真实路径使 ...

  4. poj 2635 千进制

    转自:http://www.cnblogs.com/kuangbin/archive/2012/04/01/2429463.html 大致题意: 给定一个大数K,K是两个大素数的乘积的值. 再给定一个 ...

  5. struts2的标签中得到JSP脚本的变量值

    转自:http://www.cnblogs.com/modou/articles/1299024.html 大家先来看一段代码: <% int i=1; %> <s:property ...

  6. _EPROCESS结构简单了解!

    _EPROCESS结构简单了解! lkd> dt _EPROCESSnt!_EPROCESS   +0x000 Pcb              : _KPROCESS   +0x06c Pro ...

  7. Java入门知识点:

    1.跨平台性主要原理是:在需要运行的java应用程序的操作系统上安装了一个对应操作系统对应版本的JVM(Java Virtual Machine)java虚拟机即可,由JVM来负责Java程序的在该系 ...

  8. mvc-1mvc和类(2)

    添加私有函数 var Person = function() {}; (function() { var findById = function(){}; Person.find = function ...

  9. 指示灯组与3个复位按钮的介绍Arduino Yun快速入门教程

    指示灯组与3个复位按钮的介绍Arduino Yun快速入门教程 1.4.2  指示灯组 指示灯组的放大图如图1.5所示. 图1.5  指示灯组 各个指示灯对应的功能如下: q  RX:对应于0号端口, ...

  10. HDU3729 I'm Telling the Truth(字典序最大的最大流)

    题目大概说n个学生,都各自有一个互不相同的成绩排名,他们各自说了他们成绩排名所在区间,问最多有几个学生没说谎以及字典序最大的没说谎的学生序列. 学生作为一个X部的点,排名作为Y部的点,学生与其成绩排名 ...