玖叶教程网

前端编程开发入门

前端系列——关于DOM的增删改(前端创建dom节点)

1、基本方法

1)createElement

创建一个元素标签(元素对象)

document.createElement([标签名])

2)appendChild

把一个元素对象插入到指定容器的末尾

[container].appendChild([nemEle])

3)insertBefore

把一个元素对象插入到指定容器中某一个元素标签之前

[container].insertBefore([newEle],[oldEle])

4)cloneNode

把某一个节点进行克隆

[curEle].cloneNode() :浅克隆,只克隆当前的标签

[curEle].cloneNode(true):深克隆,当前标签及其里面的内容都一起克隆了

5)removeChild

在指定容器中删除某一个元素

[container].removeChild([newEle])

6)set/get/removeAttribute

设置、获取、删除当前元素的某一个自定义属性

2、基于自定义属性的两种方式

假设有一个ID属性为‘box’的元素,首先通过ID获取到var oBox = document.getElementById('box');

第一种方式:把当前元素作为一个对象,在对象对应的堆内存中新增一个名为‘index’自定义的属性

oBox.myIndex = 10;//=>设置

console.log(oBox['myIndex']);//=>获取

delete oBox.myIndex;//=>删除

第二种方式:基于Attribute等DOM方法完成‘myColor’自定义属性的设置

oBox.setAttribute('myColor','red');//=>设置

oBox.getAttribute('myColor');//=>获取

oBox.removeAttribute('myColor');//=>删除

上下两种机制属于独立的运作机制,不能互相混淆

-第一种是基于对象键值对操作方式,修改当前元素对象的堆内存空间来完成

-第二种是直接修改页面中HTML标签的结构来完成(此种办法设置的自定义属性可以在结构上呈现出来)

注:基于setAttribute设置的自定义属性值都是字符串

3、解析一个URL字符串问号传参和HASH值部分

var str = "http://mp.toutiao.com/stu?lx=1&name=AA&age=20#teacher";

function queryURLParameter(str){

//1、创建一个A标签,把需要解析的地址当做A标签的HREF赋值

var link = document.createElement('a');

link.href = str;

//2、A元素对象的HASH、search两个属性分别存储了哈希值和参数值

var search = link.search.substr(1),

hash = link.hash.substr(1);

//3、分别解析出HASH和参数即可

var obj = {};

hash?obj.HASH = hash:null;

if(search){

//=>先按照&进行拆分

search = search.split('&');

for(var i = 0;i < search.length; i++){

var itemAry = search[i].split('=');

obj[itemAry[0]]=itemAry[1];

}

}

return obj;

}

发表评论:

控制面板
您好,欢迎到访网站!
  查看权限
网站分类
最新留言