通过document对象调用

1、getElementById()
通过id属性获取一个元素节点对象
2、getElementsByTagName()
通过标签名获取一组元素节点对象
3、getElementsByName()
通过name属性获取一组元素节点对象
4、innerHTML
对象通过调用这个属性可以获取到元素内部的html代码

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><title>Untitled Document</title><link rel="stylesheet" type="text/css" href="style/css.css" /><script type="text/javascript">/** 定义一个函数,专门用来为指定元素绑定单击响应函数*   参数:*         idStr 要绑定单击响应函数的对象的id属性值*       fun 事件的回调函数,当单击元素时,该函数将会被触发*/function myClick(idStr , fun){var btn = document.getElementById(idStr);btn.onclick = fun;}window.onload = function(){//为id为btn01的按钮绑定一个单击响应函数var btn01 = document.getElementById("btn01");btn01.onclick = function(){//查找#bj节点var bj = document.getElementById("bj");//打印bj//innerHTML 通过这个属性可以获取到元素内部的html代码alert(bj.innerHTML);};//为id为btn02的按钮绑定一个单击响应函数var btn02 = document.getElementById("btn02");btn02.onclick = function(){//查找所有li节点//getElementsByTagName()可以根据标签名来获取一组元素节点对象//这个方法会给我们返回一个类数组对象,所有查询到的元素都会封装到对象中//即使查询到的元素只有一个,也会封装到数组中返回var lis = document.getElementsByTagName("li");//打印lis//alert(lis.length);//变量lisfor(var i=0 ; i<lis.length ; i++){alert(lis[i].innerHTML);}};//为id为btn03的按钮绑定一个单击响应函数var btn03 = document.getElementById("btn03");btn03.onclick = function(){//查找name=gender的所有节点var inputs = document.getElementsByName("gender");//alert(inputs.length);for(var i=0 ; i<inputs.length ; i++){/** innerHTML用于获取元素内部的HTML代码的*     对于自结束标签,这个属性没有意义*///alert(inputs[i].innerHTML);/** 如果需要读取元素节点属性,*     直接使用 元素.属性名*        例子:元素.id 元素.name 元素.value*       注意:class属性不能采用这种方式,*          读取class属性时需要使用 元素.className*/alert(inputs[i].className);}};//为id为btn04的按钮绑定一个单击响应函数var btn04 = document.getElementById("btn04");btn04.onclick = function(){//获取id为city的元素var city = document.getElementById("city");//查找#city下所有li节点var lis = city.getElementsByTagName("li");for(var i=0 ; i<lis.length ; i++){alert(lis[i].innerHTML);}};//为id为btn05的按钮绑定一个单击响应函数var btn05 = document.getElementById("btn05");btn05.onclick = function(){//获取id为city的节点var city = document.getElementById("city");//返回#city的所有子节点/** childNodes属性会获取包括文本节点在呢的所有节点* 根据DOM标签标签间空白也会当成文本节点* 注意:在IE8及以下的浏览器中,不会将空白文本当成子节点,*   所以该属性在IE8中会返回4个子元素而其他浏览器是9个*/var cns = city.childNodes;//alert(cns.length);/*for(var i=0 ; i<cns.length ; i++){alert(cns[i]);}*//** children属性可以获取当前元素的所有子元素*/var cns2 = city.children;alert(cns2.length);};//为id为btn06的按钮绑定一个单击响应函数var btn06 = document.getElementById("btn06");btn06.onclick = function(){//获取id为phone的元素var phone = document.getElementById("phone");//返回#phone的第一个子节点//phone.childNodes[0];//firstChild可以获取到当前元素的第一个子节点(包括空白文本节点)var fir = phone.firstChild;//firstElementChild获取当前元素的第一个子元素/** firstElementChild不支持IE8及以下的浏览器,*   如果需要兼容他们尽量不要使用*///fir = phone.firstElementChild;alert(fir);};//为id为btn07的按钮绑定一个单击响应函数myClick("btn07",function(){//获取id为bj的节点var bj = document.getElementById("bj");//返回#bj的父节点var pn = bj.parentNode;alert(pn.innerHTML);/** innerText*  - 该属性可以获取到元素内部的文本内容*    - 它和innerHTML类似,不同的是它会自动将html去除*///alert(pn.innerText);});//为id为btn08的按钮绑定一个单击响应函数myClick("btn08",function(){//获取id为android的元素var and = document.getElementById("android");//返回#android的前一个兄弟节点(也可能获取到空白的文本)var ps = and.previousSibling;//previousElementSibling获取前一个兄弟元素,IE8及以下不支持//var pe = and.previousElementSibling;alert(ps);});//读取#username的value属性值myClick("btn09",function(){//获取id为username的元素var um = document.getElementById("username");//读取um的value属性值//文本框的value属性值,就是文本框中填写的内容alert(um.value);});//设置#username的value属性值myClick("btn10",function(){//获取id为username的元素var um = document.getElementById("username");um.value = "今天天气真不错~~~";});//返回#bj的文本值myClick("btn11",function(){//获取id为bj的元素var bj = document.getElementById("bj");//alert(bj.innerHTML);//alert(bj.innerText);//获取bj中的文本节点/*var fc = bj.firstChild;alert(fc.nodeValue);*/alert(bj.firstChild.nodeValue);});};</script></head><body><div id="total"><div class="inner"><p>你喜欢哪个城市?</p><ul id="city"><li id="bj">北京</li><li>上海</li><li>东京</li><li>首尔</li></ul><br><br><p>你喜欢哪款单机游戏?</p><ul id="game"><li id="rl">红警</li><li>实况</li><li>极品飞车</li><li>魔兽</li></ul><br /><br /><p>你手机的操作系统是?</p><ul id="phone"><li>IOS</li> <li id="android">Android</li><li>Windows Phone</li></ul></div><div class="inner">gender:<input class="hello" type="radio" name="gender" value="male"/>Male<input class="hello" type="radio" name="gender" value="female"/>Female<br><br>name:<input type="text" name="name" id="username" value="abcde"/></div></div><div id="btnList"><div><button id="btn01">查找#bj节点</button></div><div><button id="btn02">查找所有li节点</button></div><div><button id="btn03">查找name=gender的所有节点</button></div><div><button id="btn04">查找#city下所有li节点</button></div><div><button id="btn05">返回#city的所有子节点</button></div><div><button id="btn06">返回#phone的第一个子节点</button></div><div><button id="btn07">返回#bj的父节点</button></div><div><button id="btn08">返回#android的前一个兄弟节点</button></div><div><button id="btn09">返回#username的value属性值</button></div><div><button id="btn10">设置#username的value属性值</button></div><div><button id="btn11">返回#bj的文本值</button></div></div></body>
</html>

JavaScript进阶(4)-dom查询相关推荐

  1. 二、JavaScript语言--JS基础--JavaScript进阶篇--DOM对象 控制HTML元素

    1.认识DOM 文档对象模型DOM(Document Object Model)定义访问和处理HTML文档的标准方法.DOM 将HTML文档呈现为带有元素.属性和文本的树结构(节点树). 先来看看下面 ...

  2. JavaScript基础12-day14【DOM查询(获取元素节点、获取元素节点的子节点)、全选练习、DOM增删改、DOM添加删除记录、Window对象方法】

    学习地址: 谷粒学院--尚硅谷 哔哩哔哩网站--尚硅谷最新版JavaScript基础全套教程完整版(140集实战教学,JS从入门到精通) JavaScript基础.高级学习笔记汇总表[尚硅谷最新版Ja ...

  3. JavaScript之DOM查询

    获取元素节点:通过document对象调用 1.getElementById(): 通过id属性获取一个元素节点对象 2.getElementsByTagName(): 通过标签名获取一组元素节点对象 ...

  4. JavaScript—进阶篇

    JavaScript-进阶(笔记) 第1章 系好安全带,准备启航 1-1 让你认识JS 第二章 你要懂的规则(JS基础语法) 2-1 什么是变量 2-2 给变量取个名字(变量命名) 2-3 确定你的存 ...

  5. javascript 进阶篇(集合)

    目录 第一章 系好安全带,准备启航 1-1 让你认识JS 任务 1-2 编程练习 任务 第二章 你要懂的规则(JS基础语法) 2-1 什么是变量 2-3 确定你的存在(变量声明) 任务 2-4 多样化 ...

  6. JavaScript 进阶篇的学习~

    ---恢复内容开始--- 让你认识JS 你知道吗,Web前端开发师需要掌握什么技术?也许你已经了解HTML标记(也称为结构),知道了CSS样式(也称为表示),会使用HTML+CSS创建一个漂亮的页面, ...

  7. JavaScript 进阶知识 - Ajax篇

    Ajax 前言 前面我们已经学习了js基础知识和一些简单的特效,基本上已经能够写出一个带有特效的静态页面了,为什么还要称之为静态页面呢?因为网页里的数据都是写死的,真正的工作中,我们是要通过Ajax技 ...

  8. 前端之JavaScript进阶篇

    提示:继前面的JavaScript入门篇,来一个提高. 文章目录 前言 一.JS基础语法 1.变量 1.1.什么是变量 1.2.变量命名 1.3.变量声明 1.4.变量赋值 2.表达式 3.操作符 3 ...

  9. 05.DOM 查询练习-节点练习

    尾部附上整体代码! 1, //1.查找#bj节点document.getElementById('btn01').onclick = function () {var biObj = document ...

最新文章

  1. 数据库 大数据访问及分区分块优化方案
  2. [C++]C++11:Function与Bind
  3. mysql的联合查询差集_MySQL实现差集(Minus)和交集(Intersect)
  4. 习题6-3 使用函数输出指定范围内的完数 (20 分)
  5. 微信小程序正则判断姓名和手机号
  6. 年底清理垃圾了,整理了一整套python学习资料无偿送给大家
  7. ROS工作空间和程序包创建
  8. 电梯里的爱情华科oj
  9. canvas简易人机五子棋
  10. 本特利3500软件组态指导
  11. CTF比赛必备常用工具
  12. qcc512x_qcc302x笔记之环境搭建(一)
  13. golang使用gomonkey和monkey来mock方法或者函数时报panic: permission denied [recovered]
  14. python添加图片要怎么弄_python怎么实现添加图片
  15. 图片按指定比例缩放并压缩至指定大小,解决保存图片文件体积过大bug。
  16. 线性代数之 Ax=b反问题的一个特解
  17. 《计算机网络》第三章课后答案第七版谢希仁
  18. MATLAB仪表表盘数字识别解析
  19. se14 数据库处理
  20. Android摄像头开发完美demo---(循环聚焦,缩放大小,旋转picture,查询支持的picturesize, ImageButton按键效果)

热门文章

  1. 关于Spring体系的各种启动流程
  2. springboot集成cas3.5.2
  3. 7.springcloudAlibaba-网关gateway
  4. 工程流体力学笔记暂记18(二元漩涡的速度和压强分布)
  5. 正大国际期货:外盘期货中几种买入卖出价有何区别?
  6. sobel算子,scharr算子,Laplacian算子
  7. 塔望食业洞察|预制菜行业市场现状、发展趋势及未来思考
  8. NAO机器人——运动控制(1)
  9. Appscan测试工具简介
  10. 把Safari整个页面翻译成中文,,