最新文章专题视频专题问答1问答10问答100问答1000问答2000关键字专题1关键字专题50关键字专题500关键字专题1500TAG最新视频文章推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37视频文章20视频文章30视频文章40视频文章50视频文章60 视频文章70视频文章80视频文章90视频文章100视频文章120视频文章140 视频2关键字专题关键字专题tag2tag3文章专题文章专题2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章专题3
当前位置: 首页 - 科技 - 知识百科 - 正文

DOM之节点的基本属性_html/css

来源:动视网 责编:小采 时间:2020-11-27 16:24:17
文档

DOM之节点的基本属性_html/css

DOM之节点的基本属性_html/css_WEB-ITnose:Dom节点是一个对象, 它包含了关于他自己的属性信息和他的内容. 有些属性是只读的, 有些属性是可以更改的. 结构和内容属性 nodeType 下面是所有的节点类型. 总共有12种类型节点. 更多的介绍: DOM Level interface Node { // NodeType
推荐度:
导读DOM之节点的基本属性_html/css_WEB-ITnose:Dom节点是一个对象, 它包含了关于他自己的属性信息和他的内容. 有些属性是只读的, 有些属性是可以更改的. 结构和内容属性 nodeType 下面是所有的节点类型. 总共有12种类型节点. 更多的介绍: DOM Level interface Node { // NodeType
 Dom节点是一个对象, 它包含了关于他自己的属性信息和他的内容. 有些属性是只读的, 有些属性是可以更改的.

结构和内容属性

nodeType

下面是所有的节点类型. 总共有12种类型节点. 更多的介绍: DOM Level

interface Node { // NodeType const unsigned short ELEMENT_NODE = 1; const unsigned short ATTRIBUTE_NODE = 2; const unsigned short TEXT_NODE = 3; const unsigned short CDATA_SECTION_NODE = 4; const unsigned short ENTITY_REFERENCE_NODE = 5; const unsigned short ENTITY_NODE = 6; const unsigned short PROCESSING_INSTRUCTION_NODE = 7; const unsigned short COMMENT_NODE = 8; const unsigned short DOCUMENT_NODE = 9; const unsigned short DOCUMENT_TYPE_NODE = 10; const unsigned short DOCUMENT_FRAGMENT_NODE = 11; const unsigned short NOTATION_NODE = 12; ...}

最重要的两个类型是ELEMENT_NODE, 对应的值为1, TEXT_NODE, 对应的值为3. 其他的类型很少使用.

例如, 使用childNodes和类型属性(childNodes[i].nodeType != 1)去迭代显示所有元素节点.

下面是例子的演示:

 Allowed readers: 
  • John
  • Bob
  • 下面的页面会弹出什么, 大家试试写写看例子?

      

    nodeName, tagName

    nodeName和tagName包含了元素节点的名称.

    例如 document.body:

    alert( document.body.nodeName ) // BODY

    在HTML任何的nodeName都是大写的, 不过不要紧, 在文档中你可以使用它.

    当'nodeName'不是大写的时候.

    当nodeName不是大写的时候, 是个特殊情况, 是非常的少见的. 如果感到好奇, 那继续阅读下去.

    正如我们所知, 一个浏览器有两种解析方式: HTML模式和XML模式. 通常都是用HTML模式解析, 但是XML文档, 通过XMLHttpRequest(AJAX技术)接收的时候, XML模式激活.

    在火狐中, 当XHTML文档有xmlish内容类型的时候,XML模式也被使用.

    在XML模式nodeName保留大小写, 因此他们可能呈现"body"和"bOdY"的节点名称.

    因此, 如果通过XMLHttpRequest从服务器中加载XML文档到HTML文档中, 他们保持原来的样子.

    对于元素节点, nodeName和tagName也是一样的.

    但是nodeName属性在不是元素节点中也是存在的. 这样的节点包含特殊的值, 比如下面的例子:

    alert(document.nodeName) // #document

    tagName属性在多数节点类型和IE中等于'!'的注释中, 他们是undefined的.

    因此, 通常tagName的信息少于nodeName. 但是他的符号简短. 因此,如果你仅在使用元素节点, 你会更喜欢用它.

    innerHTML

    innerHTML属性是HTML5标准的一部分.

    他允许你访问节点的内容. 下面这个例子将会输出document.body的所有内容,以及通过一个新的内容来代替原有的内容.

     

    The paragraph

    And a div

    innerHTML需要包含一个有效的HTML.但是通常浏览器可以将那些不友好的HTML解析的很好.

    innerHTML在任何元素节点都是有效的. 他在我们写代码中, 非常的有用.

    innerHTML陷阱

    innerHTML不像看起来那么简单的. 对于一个新手,甚至一个有经验的开发人员, 都会遇到一些陷阱.

    只读 `innerHTML` (在IE的表格使用中)

    在IE中, innerHTML对于 COL, COLGROUP, FRAMESET, HEAD, HTML, STYLE, TABLE, TBODY, TFOOT, THEAD, TITLE, TR 是只读的.

    在IE中, innerHTML 对于所有的表格相关标签都是只读的(除了TD标签).

    `innerHTML` 不能被追加

    通常情况下, 我们可以通过innerHTML追加内容(elem.innerHTML += "NEW TEXT"), 例如:

    chatDiv.innerHTML += "Hi !"

    chatDiv.innerHTML += "How you doing?"

    但是实际他是这样工作的:

    1. 原来的内容被去除

    2. 新的值通过innerHTML解析替换.

    内容不能被追加, 他是重新构建的. 因此, 所有的图片和其他资源在+=之后, 将会被重载. 比如上面的例子的https://www.gxlcms.com/smile.gif文件.

    幸运的是, 我们有另外的方法去更新内容. 更新内容我们就不要使用innerHTML方式了.否则带来性能问题.

    nodeValue

    innerHTML在标签元素中可以使用.但是对于另外的节点类型, 有nodeValue属性来访问内容.

    下面这个例子展示了文本节点和注释的节点内容.

     The text 

    在上面的例子中, 有些会弹出空的数据, 因为有些空白的文本节点. 注意SCRIPT的nodeValue === null. 这是因为SCRIPT是一个元素节点. 元素节点使用innerTHML.

    总结

  • nodeType

  • 节点类型, 多说情况下使用的是标签元素节点值为1 和 文本节点,值为3. 属性是只读的.

  • nodeName/tagName

  • 标签名称是大写的. 不是元素标签的节点 nodeName有着特殊的值. 属性是只读的.

  • innerHTML

  • 元素节点的内容. 可写.

  • nodeValue

  • 文本节点的内容. 可写.

  • DOM节点还有另外的属性, 依靠本身是什么样的标签. 例如, 一个INPUT元素有value和checked属性 A标签有href属性等等

    编程的人正在在线培训

    "前端编程开发","后端开发","移动开发"等,

    需要学习的可以加入群或者微信留言

    原创内容,转载请注明出处.

    公众微信号:bianchengderen

    QQ群: 186659233

    欢迎大家传播与分享.

    融入编程人的生活,了解他们的思维模式,了解他们的喜怒哀乐,关注编程的人.

    文档

    DOM之节点的基本属性_html/css

    DOM之节点的基本属性_html/css_WEB-ITnose:Dom节点是一个对象, 它包含了关于他自己的属性信息和他的内容. 有些属性是只读的, 有些属性是可以更改的. 结构和内容属性 nodeType 下面是所有的节点类型. 总共有12种类型节点. 更多的介绍: DOM Level interface Node { // NodeType
    推荐度:
    标签: html 属性 css
    • 热门焦点

    最新推荐

    猜你喜欢

    热门推荐

    专题
    Top