请问一下各位大大
<!DOCTYPE html>
<html>
<body>
<p> line 1 </p>
<p id="demo"></p>
<p> line 2 </p>
<script>
var cars = ["BMW", "Volvo", "Saab", "Ford"];
var i = 0;
var text = "";
while (cars[i]) {
text += cars[i] + "<br>";
i++;
}
document.getElementById("demo").innerHTML = text;
</script>
</body>
</html>
line 1
BMW
Volvo
Saab
Ford
line 2
我知道 getElementById是抓取ID的属性的物件
可是<p id="demo"></p>并非函数 也没呼叫 为何会跳去先执行
document.getElementById("demo").innerHTML = text; 而非按照顺序由上往下执行呢?
作者:
LPH66 (-6.2598534e+18f)
2016-04-11 23:21:00它是由上往下执行没错, javascript 的能力就是可以在东西已经建立之后再去改变内容, 这里是在 <p id="demo"></p>已经存在在网页上之后, 这一行 javascript 去改变它的innerHTML 来更改其内容
我预期结果是 line1 lin2 后面接BMW.......我问题是jacascript是直译式语言除非有函数呼叫才会跳着执行..可是在这例子中没函数呼叫.怎会优先跑下面
可以想成 javascript 虽然嵌在 HTML 内,但他不是 HTML的一部分,在这个范例中 HTML 是排版,js 是改变内容
这段语法的意思是找到id=demo的节点 插入text的内容所以看起来会是line1 text line2
你已经排版p demo p 了 改变内容当还是在中间
你把<p id="demo"></p>放在中间,怎么会预期他最后出现?甲乙丙三个人依序排排站,然后叫乙蹲下来,乙也不会跑到最后去吧?你没有叫他往后跑他当然不会往后跑囉