JavaScriptDocument对象

tech2024-11-24  18

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中写内容 

最新回复(0)