DOM--常用API

♀尐吖头ヾ 提交于 2020-01-21 07:05:01

1.DOM树的添加
一个新元素的添加分为三个步骤
1)创建新新元素
例: var div =document.createElement(“div”);
2)设置其内容和属性
例: div.setAttribute(“id”, “boxl”);
3)将元素添加到DOM树上
1. 添加:appendChild()在父标签中追加元素 相当于push的用法
在任何的元素上追加子元素
例:document.body.appendChild(div);
.2、插入:在现有的子元素之前加入新元素
语法:insertBefore(插入的元素, 现有的元素);
3.替换:替换现有的子元素
replaceChild(新元素, 被替换的元素);
4.删除
例:

strong i

p

修改样式(style的属性)
在设置样式时只能设置标签的行内样式,同理也只能获取行内样式
例:
var h1 = document.getElementsByTagName(“h1”)[0];
h1.style.backgroundColor = “#0f0”;
h1.style.color = “#00f”;

	var h1Style = window.getComputedStyle(h1, null);
	console.log(h1Style.width);// 300  (在css中我们给h1的width设置为300px)能够获取到内部或者  外部样式
console.log(getComputedStyle(h1, "after").color); 获取元素伪类上的
**访问html的属性**
例:
body>
<a href="https://www.bailiban.com" id="link1" class="btn">go to</a>
<br>

<button onclick="alert('Helle world')" id="btn1">click me</button>
<input type="checkbox" id="chb">
<script>
	var link = document.getElementById('link1');
	 获取指定属性的值  标签中必须有写的
	console.log(link.getAttribute("href"));
	修改属性值
	link.setAttribute("href", "#top");
	 删除属性
	link.removeAttribute("class");
	判断是否包含属性
	var bool = link.hasAttribute("title");
	console.log(bool);//false
	// 以上操作都是HTML标准属性

	自定义的属性名
	var a = document.getElementsByTagName("a")[1];
	a.onclick = function(){
		console.log(this.getAttribute('data-log'));
	}
	
	==HTML DOM querySelectorAll() 方法==
	uerySelectorAll() 方法返回文档中匹配指定 CSS 选择器的所有元素,返回 NodeList 对象。
       NodeList 对象表示节点的集合。可以通过索引访问,索引值从 0 开始。
       实例: 获取文档中所有的 <p> 元素, 并为匹配的第一个 <p> 元素 (索引为 0) 设置背景颜色:
         // 获取文档中所有的 <p> 元素
        var x = document.querySelectorAll("p");
     // 设置第一个 <p> 元素的背景颜色
         x[0].style.backgroundColor = "red";

	 用HTMLDOM访问
	link.className;
	link.href;
	link.title;//""
	link.name = "a1";
	 判断是否包含属性 值
	link.title != "";
	删除属性
	link.title = "";

	标签置灰
	btn1.setAttribute("disabled", "");
	// btn1.disabled = true;

	复选框是否选中 推荐使用property方式
	chb.checked;//返回true  false
	chb.getAttribute("checked");//返回的是checked属性设置的具体值

	/*attribute  标签上出现的属性
	property   保存在内容中对象的属性*/

补充:当我们在添加子元素使,如果是同时添加多个平级子元素
可设置文档片段:临时保存多个平级元素的虚拟父元素

例:
var frag = document.craeteDocumentFragment(); 其返回值和普通的父元素一样

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!