Document对象 整个HTML文档
每个载入浏览器的 HTML 文档都会成为 Document 对象。
Document 对象使我们可以从脚本中对 HTML 页面中的所有元素进行访问。
1、属性:https://www.w3school.com.cn/jsref/dom_obj_document.asp
body :提供对 <body> 元素的直接访问。 替代 document.getElementsByTagName("body")[0]
documentElement : 获取Html根标签
all: 获取html页面的所有元素。替代document.getElementByTagName(*);
2、Document对象中的常用方法(举例4种常用方法)
2.1、document.getElementById(elementId)
通过标签的id属性获取一个元素节点对象,elementId是标签的id属性值
返回对拥有指定id(elementId)的第一个对象的引用 (一般都是元素对象即Element对象)
2.2、document.getElementsByName(elementName) //对比ById 返回的是多个对象
通过标签的name属性查找标签的dom对象,elementName是标签的name属性值
根据name属性,返回多个标签对象(html object对象)集合,这个集合的操作和操作数组一样。
举例解释:需求,点击全选,则选取3个兴趣爱好。
JS页面 //数组操作
function checkall(){ var hobbies=document.getElementsByName("hobby"); alert(hobbies.length) //返回name为hobby的标签个数 为3个hobby alert(hobbies[0]) //查单返回对象,是htmlbojectelement alert(hobbies[0].value) //返回第一个hobby的值 tkd }
//附加知识点,checked属性表示复选框的选中状态,选中是true,不选中是false
//checked属性可读,可写 即可赋值
//“全选”功能代码
for(var i=0; i<hobbies.length;i++){
for(var i=0;i<hobbies.length;i++){ hobbies[i].checked=true; //把checked属性变成true 即打钩,如果反选,hobbies[i].checked=!hobbies[i].checked } }
HTML页面:
兴趣爱好: <input type="checkbox" name="hobby" value="tkd">跆拳道 <input type="checkbox" name="hobby" value="kos">空手道 <input type="checkbox" name="hobby" value="kungfu">功夫
<br> <button οnclick="checkall()">全选</button>
2.3、document.getElementsByTagName(tagname)
通过标签名查找标签的dom对象,tagname是标签名。如果html标签既没提供ID属性,也没提供name属性,就可以用TagName
根据标签名,返回多个标签对象(html object对象)集合(类数组),这个集合的操作和操作数组一样。
2.4、document.getElementsByClassName(classname)
根据class属性获取一组元素节点对象。但是该方法不支持IE8及以下浏览器,所以很少用。
2.5、document.createElement(tagName)
方法,通过给定的标签名,创建一个标签对象。tagName是创建的标签名
2.6、document.querySelector("CSS选择器")
根据一个css选择器的字符串来查询符合条件的第一个元素节点对象(不是返回集合)。IE8也兼容,所以尽量用这个。
2.7、document.querySelectorAll("CSS选择器")
和2.6一样,不同的是将符合条件的元素封装到一个数组中,返回元素。即使满足条件的只有一个,也会返回数组。
JS页面:
function checkall(){ var inputs=document.getElementsByTagName("input");//通过标签名获取html标签对象 for(var i=0;i<inputs.length;i++){ inputs[i].checked=true; } }
html页面:
<body> 兴趣爱好: <input type="checkbox" value="tkd">跆拳道 <input type="checkbox" value="kos">空手道 <input type="checkbox" value="kungfu">功夫 <br> <button οnclick="checkall()">全选</button> </body>
这三种查询方法使用顺序:
查id优先级最高,如果没有id属性,则优先使用name方法进行查询,如果id和name都没有,再用tag属性查询。(即查询范围从精确到越来越广)
5、document.createElement("") 创建标签
exp:用JS代码创建html标签,并显示在html页面上,内容是<div>我忍不住了,我要射了</div>
window.οnlοad=function(){ //这句表示在页面加载完成后,执行{}代码。如果没加载完成,显示不出来
var divObj=document.createElement("div"); //创建div标签,还没内容
divObj.innerHTML="我忍不住了,我要射了"; //给div标签添加内容
document.body.appendChild(divObj); //给body标签添加子元素
6、document.write("") //向body中写内容