append應該是jq裡的方法吧,為什麼我用js沒有引入jq也可以達到跟appendChild一樣的效果?
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>IFE JavaScript Task 01</title>
</head>
<body>
<h3>污染城市列表</h3>
<ul id="aqi-list">
<!--
<li>第一名:福州(样例),10</li>
<li>第二名:福州(样例),10</li> -->
</ul>
<script type="text/javascript">
var aqiData = [
["北京", 90],
["上海", 50],
["福州", 10],
["广州", 50],
["成都", 90],
["西安", 100]
];
(function() {
/*
在注释下方编写代码
遍历读取aqiData中各个城市的数据
将空气质量指数大于60的城市显示到aqi-list的列表中
*/
var aqiList = document.getElementById("aqi-list");
var aqiArray = [];
var cnArray = ["一", "二", "三", "四", "五", "六"];
//大于60的放进数组并排序
for(var i = 0; i < aqiData.length; i++) {
if(aqiData[i][1] >= 60) {
aqiArray.push(aqiData[i]);
aqiArray.sort(function(a,b){
return b[1]-a[1];
});
};
};
//循环数组,创建节点
for(var i = 0; i < aqiArray.length; i++) {
var newLi = document.createElement("li");
newLi.innerHTML = "第" + cnArray[i] + "名:" + aqiArray[i];
aqiList.append(newLi);
};
})();
</script>
</body>
</html>
這是node節點上的方法,不過瀏覽器相容有問題,盡量不要用
MDN有文件
https://developer.mozilla.org...
parentNode.append()是還在試用期的方法,有相容問題。是parendNode節點中最後一個子節點後插入新Node或
DOMString
(字串,插入後為Text節點).與
parentNode.appendChild()
的区别在于:parentNode.append()
可以同时传入多个节点或字符串,没有返回值;而
parentNode.appendChild()
只能传一个节点,且不直接支持传字符串(需要parentNode.appendChild(document.createTextElement('字符串'))
代替),返回追加的Node節點打完字提交發現上面有了正解 哈哈
append和appendChild相同的作用,只是一個是jq的寫法,一個js原生的寫法僅次於而已
aqiList 是一個數組,append是原生js的陣列方法之一。