Dom-直接 /间接选择器

Dom:Document Object Model的缩写, 把html转换成了文本对象.

1. 直接选择器

1、直接查找

document.getElementById             根据ID获取一个标签

document.getElementsByName          根据name属性获取标签集合

document.getElementsByClassName     根据class属性获取标签集合

document.getElementsByTagName       根据标签名获取标签集合

  1. 找到标签

document.getElementById(‘i1‘) 获取单个元素

   document.getElementsByTagName(‘div‘) 获取多个元素(列表)

   document.getElementsByClassName(‘c1‘) 获取多个元素(列表)

   document.getElementsByName         

  2. 操作标签

    获取标签中的文本内容 innertext

示例:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
    <div id="i1">我是i1</div>
    <a>909</a>
    <a>我是中国人</a>
    <a>sdfdfd</a>
</body>
</html>

运行:

document.getElementById(‘i1‘)
<div id=?"i1">?我是i1?</div>?
document.getElementById(‘i1‘).innerText
"我是i1"
document.getElementById(‘i1‘).innerText=‘新内容‘
"新内容"
document.getElementsByTagName(‘a‘)
(3) [a, a, a]
document.getElementsByTagName(‘a‘)[1]
<a>?我是中国人?</a>?
document.getElementsByTagName(‘a‘)[1].innerText=‘I am Chinese‘
"I am Chinese"
tags=document.getElementsByTagName(‘a‘)
(3) [a, a, a]
for(var i=0;i<tags.length;i++){tags[i].innerText=888;}
888

2. 间接选择器

2、间接查找

parentNode          // 父节点

childNodes          // 所有子节点

firstChild          // 第一个子节点

lastChild           // 最后一个子节点

nextSibling         // 下一个兄弟节点

previousSibling     // 上一个兄弟节点 

parentElement           // 父节点标签元素

children                // 所有子标签

firstElementChild       // 第一个子标签元素

lastElementChild        // 最后一个子标签元素

nextElementtSibling     // 下一个兄弟标签元素

previousElementSibling  // 上一个兄弟标签元素

示例:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
    <div>
        <div></div>
        <div>c1</div>
    </div>
    <div>
        <div></div>
        <div id="i1">c2</div>
    </div>
    <div>
        <div></div>
        <div>c3</div>
    </div>
</body>
</html>

运行结果:

tag=document.getElementById(‘i1‘)
<div id=?"i1">?c2?</div>?
tag.parentElement
<div>?<div>?</div>?<div id=?"i1">?c2?</div>?</div>?
tag.parentElement.children
(2) [div, div#i1, i1: div#i1]i1: div#i1length: 20: div1: div#i1__proto__: HTMLCollection
tag.parentElement.previousElementSibling
<div>?<div>?</div>?<div>?c1?</div>?</div>?

3. 操作标签:

A-innerText: 获取标签中的文本内容, tag.innerText=" "

B-className:

  tag.className: 直接整体做操作

  tag.classList.add(‘样式名‘)  添加指定样式

  tag.classList.remove(‘样式名‘)  删除指定样式

C-如下,点击的功能。

  <div onclick=‘func()‘;>点我</div>
    <script>
      function func(){
                }
    </script>

4. 来个完整示例-----模态对话框。  

z-index: 谁的值最大,谁就在最上面。
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <style>
        .hide{
            display:none
        }
        .c1{
            position:fixed;
            left:0;
            top:0;
            right:0;
            bottom:0;
            background-color:black;
            opacity:0.6;
            z-index:9;
        }
        .c2{
            width:500px;
            height:400px;
            background-color:white;
            position:fixed;
            left:50%;
            top:50%;
            margin-left:-250px;
            margin-top:-200px;
            z-index:10;
        }
    </style>
</head>
<body style="margin:0;">
    <div>
        <input type="button" value="添加" onclick="ShowModel();"/>
        <table border="1px solid blue">
            <thead>
                <tr>
                    <th>主机名</th>
                    <th>端口</th>
                </tr>
            </thead>
            <tbody>
                <tr>
                    <td>1.1.1.1</td>
                    <td>191</td>
                </tr>
                <tr>
                    <td>1.1.1.2</td>
                    <td>192</td>
                </tr>
                <tr>
                    <td>1.1.1.3</td>
                    <td>193</td>
                </tr>
            </tbody>
        </table>
    </div>

    <!--遮罩层开始-->
    <div id="i1" class="c1 hide"></div>
    <!--遮罩层结束-->

    <!--弹出框开始-->
    <div id="i2" class="c2 hide">
        <p><input type="text"/></p>
        <p><input type="text"/></p>
        <p>
            <input type="button" value="取消" onclick="HideModel();"/>
            <input type="button" value="确定">
        </p>
    </div>
    <!--弹出框结束-->

    <script>
        function ShowModel(){
            document.getElementById(‘i1‘).classList.remove(‘hide‘);
            document.getElementById(‘i2‘).classList.remove(‘hide‘);
        }
        function HideModel(){
            document.getElementById(‘i1‘).classList.add(‘hide‘);
            document.getElementById(‘i2‘).classList.add(‘hide‘);
        }
    </script>

</body>
</html>

运行结果:

点击取消后,对话框消失。

时间: 2024-10-03 22:25:06

Dom-直接 /间接选择器的相关文章

jQuery基础(样式篇,DOM对象,选择器,属性样式)

1. $(document).ready 的作用是等页面的文档(document)中的节点都加载完毕后,再执行后续的代码,因为我们在执行代码的时候,可能会依赖页面的某一个元素,我们要确保这个元素真正的的被加载完毕后才能正确的使用. $(document).ready(function() {   内容  }); 1.jQuery对象与DOM对象   jQuery对象与DOM对象是不一样的 普通处理,通过标准JavaScript处理: var p = document.getElementById

Dom选择器的使用

文档对象模型(Document Object Model,DOM)是一种用于HTML和XML文档的编程接口.它给文档提供了一种结构化的表示方法,可以改变文档的内容和呈现方式.我们最为关心的是,DOM把网页和脚本以及其他的编程语言联系了起来.DOM属于浏览器,而不是JavaScript语言规范里的规定的核心内容. 注:一般说的JS让页面动起来泛指JavaScript和Dom 1.选择器--id属性选择器 <!DOCTYPE html><html lang="en">

jQuery学习笔记(一)——选择器

常规选择器: 1.$('#box') ID选择器,获取一个ID为box的DOM对象 2.$('.box') CLASS选择器,获取一个class为box的DOM对象 3.$('div') 元素名选择器,获取一个元素名为div的DOM对象 进阶选择器: 1.$('div,#box,.box') 群组选择器,获取元素名为div.ID为box.class为box的DOM对象 2.$('div #box') 后代选择器,获取div中ID为box的DOM对象 另一种写法$('div').find('#bo

前端性能优化-精确的控制dom元素

6.dom操作 精确的控制dom元素(id 选择器) 1.浏览器的开发者工具针对页面进行调优 Network窗口 Stalled(阻塞) DNS Lookup(域名解析) dns缓存 建立持久连接 Initial connection(初始化连接) SSL(包含于HTTPS连接中) Waiting(等待响应) Request sent(发送请求) Content Download(下载) 2. js调试 设置在DOM node发生变化时触发断点 dom 右键 Break on 可以设置成这个节点

jQuery学习笔记(四)使用选择器三

显隐伪类选择器 :hidden :visible能够根据元素的可见或隐藏进行快速过滤 显隐伪类选择器 说明 :hidden 匹配所有不可见元素,或者type伪hidden的元素 :visible 匹配所有的可见元素 1 <!doctype html> 2 <html> 3 <head> 4 <meta charset="utf-8"> 5 <script src="jquery-1.11.3.js" type=&

JQ001-认识jQuery 和 JQ002-jQuery选择器

JQ001-认识jQuery jQuery环境配置:将jQuery.js文件引入到html页面中即可. 代码如下: <!DOCTYPE html> <html> <head> <title></title> <script src="../script/jquery.js" type="text/javascript"></script> </head> <body

一步一步学习 JQuery (三) 过滤选择器:基本过滤选择器 &amp;&amp; 内容过滤选择器 &amp;&amp; 可见性过滤选择器

过滤选择器: 过滤选择器主要是通过特定的过滤规则来筛选出所需的 DOM 元素, 该选择器都以 ":" 开头 按照不同的过滤规则, 过滤选择器可以分为基本过滤, 内容过滤, 可见性过滤, 属性过滤, 子元素过滤和表单对象属性过滤选择器. 一.基本过滤选择器 改变第一个 div 元素的背景色为 # bbffaa 改变最后一个 div 元素的背景色为 # bbffaa 改变class不为 one 的所有 div 元素的背景色为 # bbffaa 改变索引值为偶数的 div 元素的背景色为 #

JS对象 DOM

DOM是针对写的所有代码,页面里呈现的东西. BOM针对的是整个浏览器相关的. DOM几种选择器: id选择器:document.getElementById("id名") class选择器:document.getElementsByClassName('class名') name选择器:document.getElementsByName('name名') 标签选择器:document.getElementsByTagName('标签名') 设置属性:setAttribute('属

Juqery之选择器

jQuery元素选择器和属性选择器允许您通过标签名.属性名或内容对 HTML 元素进行选择和操作,而在 HTML DOM中,选择器可以对DOM元素组或单个DOM 节点进行操作. jQuery元素选择器: jQuery 使用 CSS 选择器来选取 HTML 元素. $("p") 选取 <p> 元素. $("p.intro") 选取所有 class="intro" 的 <p> 元素. $("p#demo")