DOM学习笔记二

DOM中document:代表html的文档对象(重要)

document演示:

该对象将标记型文档进行封装

该对象的作用,是对可标记型文档进行操作

常见操作,想要实现动态效果,需要对节点操作,那么先获取到这个节点,想获取节点,就必须先获取节点所属的文档对象document

获取节点的方法体现:

getElementById();提高标签的id属性值获取该标签节点,返回该标签节点

getElementsByName();通过标签的name属性获取节点,返回的是一个数组/容器

getElementsTagName();通过标签名获取节点,因为标签名会有重复,所以返回一个数组

所以,凡是带s的返回的都是一个数组

1.document获取节点byid:(有id的标签)

<body>
    <script type="text/javascript" src="out.js"></script>
    <script type="text/javascript">
        function getNodeDemo(){
            //获取页面中的div节点
            //因为div有id属性,所以可以通过id属性来获取,document对象完成
            var divNode = document.getElementById("divid");
            //节点的必备属性:节点名称nodeName,节点类型nodeType,节点值nodeValue
            //alert(divNode.nodeName+":"+divNode.nodeType+":"+divNode.nodeValue);
            //常见节点:
            /*
            * 标签型节点: 类型1
            * 属性节点:   类型2
            * 文本节点:  类型3
            *
            * 标签型节点是没有值的,属性和文本节点有值
            * */

            //获取节点后,获取div中的文本
            //var test = divNode.innerHTML;
            //alert(test);

            //改变div中的文本
            divNode.innerHTML = "改变div".fontcolor("blue");
         }
    </script>
    <input type="button" value="document对象获取节点" onclick="getNodeDemo()"/>
    <div id="divid">div区域</div>
</body>

2.document获取节点byname:(没id,但有name的标签)

通常文本框中的值是不用写的,因为是用户输入

<script type="text/javascript">
       function getNodeNameDemo(){
         var Node = document.getElementsByName("user");//注意是Elements,所以是一组
          /* //alert(Node);//undefined
            //alert(Node.length); 1
           //alert(Node);
           alert(Node[0].nodeName);
           alert(Node[0].type);
           alert(Node[0].value);
           //第二种*/
           for(var i = 0;i<document.getElementsByName("user").length;i++) {
               var userNode = document.getElementsByName("user")[i];
                alert(userNode.nodeName);
           }
       }
    </script>
    <input type="button" value="document对象获取节点" onclick="getNodeNameDemo()"/>
    <div id="divid">div区域</div>
    <input type="text" name="user" />
    <input type="text" name="user" />
    <input type="text" name="user" />

3。document获取节点byTagname:(没有id,也没有name的标签)

  function getNodeByTagNameDemo(){

            //直接用标签名获取

            var nodes = document.getElementsByTagName("a");
           // alert(nodes.length);//2
            //alert(nodes[0].innerHTML);//获取内部文本,百度1
            for(var i = 0;i<nodes.length;i++){
                alert(nodes[i].innerHTML);
              //  nodes[i].target="_blank";给每个标签的属性设置一个值,有N多个超链接标签时,这招就很实用
            }
        }
    </script>
    <input type="button" value="document对象获取节点" onclick="getNodeByTagNameDemo()"/>

    <a href="http://www.baidu.com">百度1</a>
    <a href="http://www.baidu.com">百度2</a>

第二种

<script type="text/javascript">

        function getNodeByTagNameDemo2(){
            //对于页面中的超链接,百度链接,在当前窗口打开,163链接在新窗口打开
            //document获取超链接,可以获取页面中所有超链接节点
            //如果需要获取其中某一部分节点,那么就要获取这一部分节点的所属
            //在通过这个节点获取其中的所以超链接节点
                //获取div节点
                var divNode = document.getElementById("newlink");
                //div中有方法,getElementsByTagName,注意凡是容器型标签,其中都有这个方法,但是不一定有
                // byid,byname,但是一定有标签名
                //因为容器型标签中可以装标签
                var nodes = divNode.getElementsByTagName("a");
              //  alert(nodes.length);
                for(var i = 0;i<nodes.length;i++){
                   // alert(nodes[i].innerHTML);
                    nodes[i].target="_blank";
                }
        }
    </script>
    <input type="button" value="document对象获取节点" onclick="getNodeByTagNameDemo2()"/>

    <a href="http://www.baidu.com">百度1</a>
    <a href="http://www.baidu.com">百度2</a>

    <div id="newlink">
        <a href="http://www.163.com">1631</a>
        <a href="http://www.163.com">1632</a>
        <a href="http://www.163.com">1633</a>
    </div>
时间: 2024-08-07 10:44:29

DOM学习笔记二的相关文章

js的dom学习笔记二

作者的自白: 知道个大概的原理和意思,这能减少实际操作中所出现的错误,使用起来,能更加的得心应手. 1.识别对象.(清楚你要操作的是谁) html给了网页的控件,css给了网页的样式,js提供动态的网页效果,具体就是用户的交互(事件),当用户通过input设备给予浏览器某个事件信息后,浏览器要回应用户.浏览器怎么回应用户,浏览器里的html文件所以js的操作对象就是html控件和html元素的样式.对象要对应上需求,能更容易达到效果,更容易想出实现的步骤.(不能用不是该对象的方法来操作该对象,清

JavaScript--基于对象的脚本语言学习笔记(二)

第二部分:DOM编程 1.文档象模型(DOM)提供了访问结构化文档的一种方式,很多语言自己的DOM解析器. DOM解析器就是完成结构化文档和DOM树之间的转换关系. DOM解析器解析结构化文档:将磁盘上的结构化文档转换成内存中的DOM树 从DOM树输出结构化文档:将内存中的DOM树转换成磁盘上的结构化文档 2.DOM模型扩展了HTML元素,为几乎所有的HTML元素都新增了innerHTML属性,该属性代表该元素的"内容",即返回的某个元素的开始标签.结束标签之间的字符串内容(不包含其它

Ajax学习笔记(二)

二.prototype库详解 1.prototype库的使用 //导入下载好的prototype.js文件 <script type="text/javascript" src="prototype.js"></script> //在自己的js中直接使用Prototype对象 <script type="text/javascript"> document.writeln("Prototype库的版本

AJax 学习笔记二(onreadystatechange的作用)

AJax 学习笔记二(onreadystatechange的作用) 当发送一个请求后,客户端无法确定什么时候会完成这个请求,所以需要用事件机制来捕获请求的状态XMLHttpRequest对象提供了onreadyStateChange事件实现这一功能.这类似于回调函数的做法.onreadyStateChange事件可指定一个事件处理函数来处理XMLHttpRequest对象的执行结果,如: 复制代码 代码如下: ajaxObj=createAjaxObject(); var url="/MyTod

Caliburn.Micro学习笔记(二)----Actions

Caliburn.Micro学习笔记(二)----Actions 上一篇已经简单说了一下引导类和简单的控件绑定 我的上一个例子里的button自动匹配到ViewModel事件你一定感觉很好玩吧 今天说一下它的Actions,看一下Caliburn.Micro给我们提供了多强大的支持 我们还是从做例子开始 demo的源码下载在文章的最后 例子1.无参数方法调用 点击button把textBox输入的文本弹出来 如果textbox里没有文本button不可点,看一下效果图 看一下前台代码 <Stac

2. 蛤蟆Python脚本学习笔记二基本命令畅玩

2. 蛤蟆Python脚本学习笔记二基本命令畅玩 本篇名言:"成功源于发现细节,没有细节就没有机遇,留心细节意味着创造机遇.一件司空见惯的小事或许就可能是打开机遇宝库的钥匙!" 下班回家,咱先来看下一些常用的基本命令. 欢迎转载,转载请标明出处:http://blog.csdn.net/notbaron/article/details/48092873 1.  数字和表达式 看下图1一就能说明很多问题: 加法,整除,浮点除,取模,幂乘方等.是不是很直接也很粗暴. 关于上限,蛤蟆不太清楚

小猪的数据结构学习笔记(二)

小猪的数据结构学习笔记(二) 线性表中的顺序表 本节引言: 在上个章节中,我们对数据结构与算法的相关概念进行了了解,知道数据结构的 逻辑结构与物理结构的区别,算法的特性以及设计要求;还学了如何去衡量一个算法 的好坏,以及时间复杂度的计算!在本节中我们将接触第一个数据结构--线性表; 而线性表有两种表现形式,分别是顺序表和链表;学好这一章很重要,是学习后面的基石; 这一节我们会重点学习下顺序表,在这里给大家一个忠告,学编程切忌眼高手低,看懂不代表自己 写得出来,给出的实现代码,自己要理解思路,自己

马哥学习笔记二十四——分布式复制快设备drbd

DRBD: 主从 primary: 可执行读.写操作 secondary: 文件系统不能挂载 DRBD: dual primay, 双主(基于集群文件系统的高可用集群) 磁盘调度器:合并读请求,合并写请求: Procotol:drbd数据同步协议 A: Async, 异步  数据发送到本机tcp/ip协议栈 B:semi sync, 半同步  数据发送到对方tcp/ip协议 C:sync, 同步  数据到达对方存储设备 DRBD Source: DRBD资源 资源名称:可以是除了空白字符外的任意

【Unity 3D】学习笔记二十八:unity工具类

unity为开发者提供了很多方便开发的工具,他们都是由系统封装的一些功能和方法.比如说:实现时间的time类,获取随机数的Random.Range( )方法等等. 时间类 time类,主要用来获取当前的系统时间. using UnityEngine; using System.Collections; public class Script_04_13 : MonoBehaviour { void OnGUI() { GUILayout.Label("当前游戏时间:" + Time.t