JS 学习游记三DOM对象

一、DOM对象

1. HTML DOM


2. 什么是 DOM?

DOM W3C(万维网联盟)的标准。DOM 定义了访问 HTML XML 文档的标准:“W3文档对象模型(DOM)是中立于平台和语言的接口,它允许程序和脚本动态地访问和更新文档的内容、结构和样式。
W3C DOM 标准被分为 3 个不同的部分:

1). 核心 DOM-针对任何结构化文档的标准模型

2). XML DOM-针对 XML 文档的标准模型

3). HTML DOM-针对 HTML 文档的标准模型

3. HTML DOM 是:

1). HTML 的标准对象模型
2). HTML 的标准编程接口
3). W3C 标准 HTML DOM 定义了所有 HTML 元素的对象和属性,以及访问它们的方法。换句话说,HTML DOM 是关于如何获取、修改、添加或删除 HTML 元素的标准

4. DOM节点的理解

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>康释文</title>

</head>
<body>
  <p id ="demo">
    <a href="#">北京大学</a>
  </p>
  <span>
    北京大学
  </span>
</body>
</html>

解析:1). 根节点上面例子中的根节点就是<html>2). 父节点一个节点的上面一个节点就是它的父节点。如本例中<p>的父节点是<body>,同理<span >的父节点也是<body>

3). 子节点跟父节点相反,一个节点的下一个节点就是它的子节点。<body> 的子节点是<p><span>,它的父节点是<html>4). 兄弟节点兄弟节点有相同父节点且在同一个层。本例中的兄弟节点是<p><span>

二、获取DOM对象

1. getElementById()

JavaScript 中,如果想通过 id 来选中元素,可以使用 document 对象的getElementById()方法。
getElementById()方法类似于 CSS 中的 id 选择器。

2. getElementsByName()

JavaScript 中,如果想通过 name 来选中元素,可以使用 document 对象的 getElementsByName()方法。


三、获取相关节点

1. 访问父节点

A. parentNode()

功能:获取指定节点的父节点
<div id="text">
  <p id="con"> parentNode 获取指点节点的父节点</p>
</div>
<script type="text/javascript">
  var mynode= document.getElementById("con");
  document.write(mynode.parentNode.nodeName);
</script>
效果:



2. 访问兄弟节点1). nextSibling

功能:可返回某个节点之后紧跟的节点(处于同一树层级中)

说明:
1). 如果无此节点,则该属性返回 null
2).
元素中的空格被视作文本,而文本被视作文本节点 举行:

实现获取兄弟节点的 ID 代码如下:

<body style="background-color:orange">

  <p>列表示例:</p>
  <ul id="myList">
      <li id="item1">fenzhen</li><li id="item2">waite</li>
  </ul>
  <p id="demo">点击按钮来获得首个项目的下一个同胞的 id。</p>
  <button οnclick="myFunction()">获取</button>
  <script>

      function myFunction() {
          var x=document.getElementById("demo");
          x.innerHTML=document.getElementById("item1").nextSibling.id;
      }
  </script>
</body>
显示前


显示后:



注意:

返回某个节如果上面两个<li>标签有空格则会出现“undefined”

2). previousSibling

功能:可返回某个节点之前紧跟的节点(处于同一树层级中)

3. childNodes

功能:访问选定元素节点下的所有子节点的列表,返回的值可以看作是一个数组,他具有 length 属性

<body style="background-color:orange">

  <p id="demo">请点击按钮来获得   元素子节点的相关信息。</p>
  <button οnclick="myFunction()">获取</button>
  <script>

      function myFunction() {
          txt="";
          c=document.body.childNodes;
          for(i=0; i<c.length; i++) {
              txt=txt + c[i].nodeName + "<br>";
              x=document.getElementById("demo");
              x.innerHTML=txt;
          }
      }
  </script>
</body>


二、操作DOM属性、HTML和文本

1. js 获取的 html 内容包括

1). 文本内容
2). 属性值
可以采用
js dom 方法,比如 document.getElementById()但是此种方法不简洁,使用起来不方便,违反了短小精悍的原则,推荐采用 jqury的方法,jquery js 库,封装了 js 的一些方法,直接用就好了。
注意:
1). 使用 jquery 需要包含 jquery.js 文档 <script type="text/JavaScript"src="jquery.js"></script>
至于 jquery.js,网上老多了,请自行下载。
2). <scrpt></script>里面必须包含 $(document).ready() 方法。
这里介绍
jquery 3 个方法
1). text() text 即设置或者返回文本内容
2). html() 设置或者返回 html 内容
3). val() 设置或者返回表单字段的值


<head>
    <meta charset="UTF-8">
    <title>康释文</title>
    <script src="../js/jquery-1.9.1.min.js"></script>
    <script>
        $(document).ready(function () {
           $("#btn1").click(function () {
               $("#test1").text("<b> hello world!</b>")
           });
           $("#btn2").click(function () {
                $("#test2").html("<b> hello world!</b>")
            });
            $("#btn3").click(function () {
                $("#test3").val("Dolly Duck")
            });
        });
    </script>

</head>
<body style="background-color:orange">
   <p id="test1">这是段落。</p>
   <p id="test2">这是另一个段落。</p>
   <p>Input  field:
       <input  type="text"
               id="test3"
               value="Mickey  Mouse">
   </p>
   <button id="btn1">设置文本</button>
   <button id="btn2">设置 HTML</button>
   <button id="btn3">设置值</button>
</body>


2. 通过attribute获取和设置属性值

<a href="www.f-z.cn" target="_blank">前端大学</a><p id="demo">请点击按钮来显示上面这个链接的 target 属性值。</p> <button οnclick="myFunction()">试一下</button>
<script>
    function myFunction() {
        var a=document.getElementsByTagName("a")[0];
        document.getElementById("demo").innerHTML=a.getAttribute("target");
    }
</script>

点击后



  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值