如何用js在页面中添加元素?

如何用js在页面中添加元素?,第1张

想要在页面动态添加元素,首先要确定在哪个元素后面添加元素,然后利用js的appendChild方法在该元素后面追加元素。

1.获取父节点元素varbody=document.getElementsByTagName('body')[0]。

2.然后动态创建a标签vara=document.createElement('a')。

3.把创建好的a标签追加到body下面body.appendChild(a)。

4.在a标签里面添加文本内容a.innerHTML='这是一个链接'。

5.给a标签添加一个链接a.href='https://www.baidu.com/'。

扩展资料:

js一些原生方法

element.appendChild()方法向节点添加最后一个子节点。

element.innerHTML设置或返回元素的内容。

document.getElementsByTagName()返回带有指定标签名的对象集合。

document.getElementById()返回对拥有指定id的第一个对象的引用。

document.createElement()通过指定名称创建一个元素。

1、push() 结尾添加

数组.push(元素)

        参数                                         描述

newelement1必需。   要添加到数组的第一个元素。

newelement2可选。   要添加到数组的第二个元素。

newelementX可选。   可添加多个元素。

2、unshift() 头部添加

数组.unshift(元素)

       参数                                   描述

newelement1必需。    向数组添加的第一个元素。

newelement2可选。    向数组添加的第二个元素。

newelementX可选。    可添加若干个元素。

3、splice() 方法向/从数组指定位置添加/删除项目,然后返回被删除的项目。

          参数                           描述

index必需。                     整数,规定添加/删除项目的位置,使用负数可从数组结尾处规定位置。

howmany必需。             要删除的项目数量。如果设置为 0,则不会删除项目。

item1, ..., itemX可选。   向数组添加的新项目。

//1、首先获取div的父节点

//2、创建一个新节点

//3、将新节点添加到div节点后面

//具体 *** 作如下:

var divs = document.getElementsByTagName("DIV")//获取页面中所有div

for(var i=0i<divs.lengthi++) {

var div = divs[i]//获取第i个div

var divParent = div.parentNode//获取该div的父节点

var newNode = document.createTextNode("文本节点")//创建文本节点

var next = div.nextSibling//获取div的下一个兄弟节点

//判断兄弟节点是否存在

if(next) {

//存在则将新节点插入到div的下一个兄弟节点之前,即div之后

divParent.insertBefore(newNode,next)

} else {

//不存在则直接添加到最后,appendChild默认添加到divParent的最后

divParent.appendChild(newNode)

}

}

//以下是一些常用js *** 作

var textNode = document.createTextNode("xxx")//创建文本节点

var elementNode = document.createElement("p")//创建元素节点(p)

var body = document.getElementsByTagName("body")[0]//获取body节点

body.appendChild(elementNode)//元素节点添加到body节点下,添加在末尾

elementNode.appendChild(textNode)//将文件节点添加到元素节点下

//获取要删除的节点,elementNode.length-1 表示最后一个指定节点(这里表示最后一个p节点)

var delElementNode = elementNode.item(elementNode.length-1)

body.removeChild(delElementNode);//移除指定节点

body.insertBefore(newNode, oldNode)//在body中的oldNode前插入newNode节点

body.replaceChild(newNode, oldNode)//将body中的oldNode替换为newNode节点

//创建一个新的属性

var style = document.createAttribute("style")

//为节点添加新属性

option.attributes.setNamedItem(style)

//设置新属性的值

option.setAttribute("style","color:red")


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/bake/11838424.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-19
下一篇2023-05-19

发表评论

登录后才能评论

评论列表(0条)

    保存