js如何动态添加数组?

JavaScript013

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

js 动态添加li代码:

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

 function addElementLi(obj) {var ul = document.getElementById(obj) //添加 livar li = document.createElement("li") //设置 li 属性,如 idli.setAttribute("id", "newli") li.innerHTML = "js 动态添加li"ul.appendChild(li)}

调用:addElementLi("parentUl")

用 js 动态添加元素,就不会有那么复杂的字符串出现,代码阅读性强一点,也容易理解。用代码的方式在js中给li附上标签。

一、js 动态添加元素div:

<div id="parent"></div> function addElementDiv(obj) {var parent = document.getElementById(obj) //添加 divvar div = document.createElement("div") //设置 div 属性,如 iddiv.setAttribute("id", "newDiv") div.innerHTML = "js 动态添加div"parent.appendChild(div)}

调用:addElementDiv("parent")

二、js 动态添加元素img:

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

 function addElementImg(obj) {var ul = document.getElementById(obj) //添加 livar li = document.createElement("li") //添加 imgvar img = document.createElement("img") //设置 img 属性,如 idimg.setAttribute("id", "newImg") //设置 img 图片地址img.src = "/images/prod.jpg" li.appendChild(img)ul.appendChild(li)}

调用:addElementImg("parentUl")

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('事件触发')

}