js如何动态添加数组?

js如何动态添加数组?,第1张

js动态添加数组可以按下面的步骤:

1、在数组的开头添加新元素 - unshift()

源代码:

<!DOCTYPE html>

<html>

<body>

<p id="demo">Click the button to add elements to the array.</p>

<button onclick="myFunction()">Try it</button>

<script>

function myFunction()

{

var fruits = ["Banana", "Orange", "Apple", "Mango"]

fruits.unshift("Lemon","Pineapple")

var x=document.getElementById("demo")

x.innerHTML=fruits

}

</script>

<p><b>Note:</b>The unshift() method does not work properly in Internet Explorer 8 and earlier, the values will be inserted, but the return value will be <em>undefined</em>.</p>

</body>

</html>

测试结果:

Lemon,Pineapple,Banana,Orange,Apple,Mango

2、在数组的第2位置添加一个元素 - splice()

源代码:

<!DOCTYPE html>

<html>

<body>

<p id="demo">Click the button to add elements to the array.</p>

<button onclick="myFunction()">Try it</button>

<script>

function myFunction()

{

var fruits = ["Banana", "Orange", "Apple", "Mango"]

fruits.splice(2,0,"Lemon","Kiwi")

var x=document.getElementById("demo")

x.innerHTML=fruits

}

</script>

</body>

</html> 

测试结果:

Banana,Orange,Lemon,Kiwi,Apple,Mango

3、数组的末尾添加新的元素 - push()

源代码:

<!DOCTYPE html>

<html>

<body>

<p id="demo">Click the button to add a new element to the array.</p>

<button onclick="myFunction()">Try it</button>

<script>

var fruits = ["Banana", "Orange", "Apple", "Mango"]

function myFunction()

{

fruits.push("Kiwi")

var x=document.getElementById("demo")

x.innerHTML=fruits

}

</script>

</body>

</html>

测试结果:

Banana,Orange,Apple,Mango,Kiwi

把一串

html

标签赋给一个

javascript

变量,除属性的值要用转义的双引号外,某些时候字符串还很长,显得有些复杂。如果用

js

动态添加元素,就不会有那么复杂的字符串出现,代码阅读性强一点,也容易理解。

网页是由

html

标签一层层组成的,js

也可以动态添加一层层的诸如

div、li、img

这样的标签。其实,不管是什么

html

标签,js

动态创建的方法都差不多,接着就先从动态添加

div

开始。

一、js

动态添加元素div

<div

id="parent"></div>

function

addElementDiv(obj)

{

var

parent

=

document.getElementById(obj)

//添加

div

var

div

=

document.createElement("div")

//设置

div

属性,如

id

div.setAttribute("id",

"newDiv")

div.innerHTML

=

"js

动态添加div"

parent.appendChild(div)

}

调用:addElementDiv("parent")

二、js

动态添加li

<ul

id="parentUl"><li>原li</li></ul>

function

addElementLi(obj)

{

var

ul

=

document.getElementById(obj)

//添加

li

var

li

=

document.createElement("li")

//设置

li

属性,如

id

li.setAttribute("id",

"newli")

li.innerHTML

=

"js

动态添加li"

ul.appendChild(li)

}

调用:addElementLi("parentUl")

三、js

动态添加元素img

<ul

id="parentUl"></ul>

function

addElementImg(obj)

{

var

ul

=

document.getElementById(obj)

//添加

li

var

li

=

document.createElement("li")

//添加

img

var

img

=

document.createElement("img")

//设置

img

属性,如

id

img.setAttribute("id",

"newImg")

//设置

img

图片地址

img.src

=

"/images/prod.jpg"

li.appendChild(img)

ul.appendChild(li)

}

调用:addElementImg("parentUl")

以上这篇js

动态添加元素(div、li、img等)及设置属性的方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持脚本之家。

1、动态创建元素时,将事件触发方式加入到元素创建中

例如:

document.getElementById('id').innerHTML='<input type="button" onclick="btnClick()" value="aaa"/>'

function btnClick(){

alert('事件触发')

}

2、动态创建元素完成后,重新获取该元素绑定事件

例如:

document.getElementById('id').innerHTML='<input type="button" id="btn" />'

document.getElementById('btn').onclick=function(){

alert('事件触发')

}


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

原文地址: http://outofmemory.cn/bake/11200567.html

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

发表评论

登录后才能评论

评论列表(0条)

保存