节点属性:

  文档里的每个节点都有以下属性。

  nodeName

  nodeName属性将返回一个字符串,其内容是给定节点的名字:

name = node.nodeName

如果给定节点是一个属性节点,nodeName属性将返回这个属性的名字。

如果给定节点是文本节点,nodeName属性将返回一个内容#text的字符串。

nodeName属性是一个只读属性-----只能对他进行查询,不能进行设置

  • nodeType

nodeType属性将返回一个整数,这个数值代表给定节点类型:

integer = node.nodeType

nodeType属性有2种,nodeType属性所返回的整数值对应着一下12中节点类型之一:

  1. ELEMENT_NODE
  2. ATTRIBUTE_NODE
  3. TEXT_NODE
  4. CDATA_SECTION_NODED等等

在这12种节点类型中,前三种是最重要的,web上的绝大多数DOM脚本都需要与元素节点、属性节点和文本节点打交道。

nodeType属性通常与if语句配合使用,以确保不会再错误的节点类型上执行无效或非法的操作,在下例中,某个函数只有一个名为mynode的参数,这个参数可以是文档中任何一个元素,这个函数将为该元素添加一个取值为this is important的title属性。在此之前,它先检查mynode参数的nodeType属性,以确保这个参数所代表的节点确实是一个元素节点

function addTitle(mynode) {
if ( mynode.nodeTyoe == 1 ) {
mynode.setAttribute("title","this is important");
}
}

nodeType属性是一个只读属性。

  • nodeValue

这个属性将返回一个字符串。

  如果给定节点是属性节点,nodeValue属性将返回这个属性的值

  如果给定的节点是文本节点,nodeValue属性将返回这个文本节点的内容

  如果给定节点是一个元素节点,nodeValue属性将返回null

nodeValue属性是一个读/写属性,不过,你不能对已经定义为null的值进行设置。换句话说,不能为元素节点nodeValue属性设置一个值,

下面的例子将不能工作,因为它试图为一个元素节点设置一个值:

var message = document.getElementById("fineprint");
message.nodeValue = " this won`t work ";

下面的例子有可能可以工作,他试图为一个元素节点的第一个节点设置一个值,只要这个第一个节点是文本节点,新值就能设置成功:

var message = document.getElementById("fineprint");
message.firstChild.nodeValue = "this might work";

下面的例子肯定可以工作,这里增加了一项测试检查fineprint元素节点的第一个子节点是否为文本节点:

var message = document.getElementById("fineprint");
if ( message.firstChild.nodeType == 3 ) {
message.firstChild.nodeValue = "this will work";
}

如果需要刷新某个文本节点的值,nodeValue属性提供了最简单机制,如果需要刷新某个属性节点的值,通过这个属性节点的父节点和setAttribute()方法之间的关系。

DOM属性的更多相关文章

  1. 借助JavaScript中的Dom属性改变Html中Table边框的颜色

    借助JavaScript中的Dom属性改变Html中Table边框的颜色 -------------------- <html> <head> <title>我是页 ...

  2. Js位置与大小(1)——正确理解和运用与尺寸大小相关的DOM属性

    在web开发中,不可避免遇到要计算元素大小以及位置的问题,解决这类问题的方法是利用DOM提供的一些API结合兼容性处理来,所有内容大概分3篇左右的文章的来说明.本文作为第一篇,介绍DOM提供的与尺寸大 ...

  3. HTML DOM 属性 对象

    HTML DOM 属性 对象 HTML DOM 节点 在 HTML DOM (Document Object Model) 中, 所有的都是 节点: 文档是文档节点 所有 HTML 元素是元素节点 所 ...

  4. DOM – (w3school)1.DOM 方法 + 2.DOM属性 + 3.DOM 元素

      1.DOM 方法   一些 DOM 对象方法 这里提供一些您将在本教程中学到的常用方法: 方法 描述 getElementById() 返回带有指定 ID 的元素. getElementsByTa ...

  5. JavaScript 节点操作Dom属性和方法(转)

    JavaScript 节点操作Dom属性和方法   一些常用的dom属性和方法,列出来作为手册用. 属性:   1.Attributes 存储节点的属性列表(只读)   2.childNodes 存储 ...

  6. 【Jquery系列】之DOM属性

    1   概述 本章将结合JQuery官方API,对Jquery属性进行分析与讲解.主要讲.addClass(),.attr(),,hasClass(),,html(),.prop(),.removeA ...

  7. JavaScript中易混淆的DOM属性及方法对比

    JavaScript中易混淆的DOM属性及方法对比 ParentNode.children VS Node.prototype.childNodes ParentNode.children:该属性继承 ...

  8. 使用jQuery匹配文档中所有的li元素,返回一个jQuery对象,然后通过数组下标的方式读取jQuery集合中第1个DOM元素,此时返回的是DOM对象,然后调用DOM属性innerHTML,读取该元素 包含的文本信息

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...

  9. jQuery 源码分析(十三) 数据操作模块 DOM属性 详解

    jQuery的属性操作模块总共有4个部分,本篇说一下第2个部分:DOM属性部分,用于修改DOM元素的属性的(属性和特性是不一样的,一般将property翻译为属性,attribute翻译为特性) DO ...

  10. DOM属性获取、设置、删除

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

随机推荐

  1. .NET Core 3.1 编写混合 C++ 程序

    前言 随着 .NET Core 3.1 的第二个预览版本发布,微软正式将 C++/CLI 移植到 .NET Core 上,从此可以使用 C++ 编写 .NET Core 的程序了. 由于目前仅有 MS ...

  2. 《Effective Java》 读书笔记(九)使用try-with-resources 语句替代try-finally

    这一点其实深有感触.话不多说,先上代码: static String firstLineOfFile(String path) { BufferedReader bufferedReader = nu ...

  3. C++学习笔记13_操作MySql

    1. 链接Mysql #include <winsock.h>#include "mysql.h"#include <stdlib.h>#include & ...

  4. 网络安全-主动信息收集篇第二章-三层网络发现之ping

    第三层网络扫描基于TCP/IP.ICMP协议. 优点:可路由.速度比较快 缺点:相对于二层网络扫描较慢,容易被边界防火墙过滤 所有扫描发现技术,都会有相应的对抗办法,所以无论是来自二层的网络扫描还是来 ...

  5. $color$有色图

    不想看题解的请速撤离 为防被骂灌输题解,撤离缓冲区 这里没字 $Ploya$神题一道,所以我自己做不出来,颓了一部分题解. 由于理(颓题)解不(没)深(脸)中途又拿了$std$对拍(输出中间结果并qj ...

  6. 用OpenGL画线

    . 两点之间的连线称之为线段,在屏幕上显示线段放在现在已经不是稀奇的事情,大多数高级图形API都可以轻松实现,我尝试用OpenGL画线,在这里记录一下收获. . OpenGL这个级别的图形API,通常 ...

  7. jsoup爬虫实战心得

    1.heder很重要,一切尽在header中.尤其cookie,useragent. 2.对于加密的连接,查看js加密过程并试着通过java或你正在使用的语言去实现 3.查看在跳转之前前端发起的关键请 ...

  8. 6.2.2 辅助类GenericOptionsParser,Tool和ToolRunner深入解析

    辅助类GenericOptionsParser,Tool和ToolRunner (1)为什么要用ToolRunner 将MapReduce Job配置参数写到java代码里,一旦变更意味着修改java ...

  9. C# IV: 数据库基础操作2

    需上一篇C# III:数据库基础操作 另外一个经常碰到的数据库操作是,单次执行多个SQL语句,譬如,一次性插入多条数据. 方法一,拼凑长SQL语句 拼凑长SQL语句实际上是String的操作.如下示例 ...

  10. java里的一些名词的意思

    JDK   java开发工具包(java development kit) JRE  java运行环境 (java runtime environment)