html5自动加载文件路径,HTML5扩展

本文详细介绍了DOM操作中的多种方法,包括ClassList的增删查改、activeElement与hasFocus方法的应用、readyState属性的作用及自定义属性dataset的使用。此外,还讲解了insertAdjacentHTML方法的插入位置选项以及文档模式对样式的影响。

ClassList

var div = document.getElementById("div1");

div.classList.add("newClass");

div.classList.remove("newClass");

div.classList.contains("newClass");//判断是否包含class类

div.classList.toggle("newClass"); //如果存在则删除该类,如果没有则添加

activeElement方法-当前页面获取焦点的对象

用于返回当前页面中获取焦点的对象。

var btn = document.getElementById("btn");

btn.focus();

document.activeElement== btn;//trun

hasFocus方法

判断文档是否获取焦点

document.hasFocus() 返回true和false

readyState –文档加载状态

这个属性有两个值loading正在加载文档和complete已经加载完文档。

if (document.readyState == "complete")

{

alert("页面已经加载完成")

}

alert(document.characterSet);

document.characterSet= "GBK";

自定义属性-dataset

使用自定义属性可以在标签内部用data-的形式复制,在用js代码取值的时候,用元素对象的dataset属性找出即可。

内部文字1

内部文字2

var div = document.getElementById("div1");

alert(div.dataset.value);

insertAdjcentHTML方法-插入标记

方法接收两个参数,都是字符串类型,第一个参数代表插入的位置,第二个参数代表html字符串

位置的四个属性分别是:

1、  beforebegin:在元素之前插入一个紧邻的元素。

2、  afterbegin:作为第一个元素插入。

3、  beforeend:作为最后一个元素插入。

4、  afterend:在元素之后插入一个元素

div.insertAdjacentElement("beforebegin", "

hello

");

div.insertAdjacentElement("afterbegin", "

hello

");

div.insertAdjacentElement("beforeend", "

hello

");

div.insertAdjacentElement("afterend", "

hello

");

特别注意的是,不要使用类似循环的方式多次对页面元素进行添加,这样会导致效率低下,因为每次在添加元素的时候,会先读取这个元素,然后在添加某个元素对象,这样添加一次就会对元素操作两次(读和赋值),所以应该采用拼接好字符串,统一进行添加

文档模式

在IE中,常常会碰到样式不兼容的情况,这一般是因为浏览器的文档模式过低的原因,所以在head里加一个转换文档模式的标签,强制转换为最新的文档模式来渲染页面,以达到兼容目的。

获取文档模式代码

var mode = document.documentMode; //只在IE中有效

alert(mode);

children属性

children与childNodes没有什么区别,都是返回元素的子节点。

var div = document.getElementById("div1");var childCount =div.children.length;var firstChild = div.children[0];

compareDocumentPosition方法-判断某元素和比较元素的位置

compareDocumentPosition方法返回值为掩码,分别是:

1 无关,不在当前文档中

2 居前 在参考节点之前。

4 居后 在参考节点之后。

8 包含 给定的节点是参考节点的祖先元素。

16 被包含 给定的节点是参考节点后代元素。

var div = document.getElementById("div1");var p=document.getElementById("p1");var result =div.compareDocumentPosition(p);

alert(!!(result&16));

返回的结果因为是掩码的值,所以运算一下,得到正常布尔值。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值