Date: 2020-05-13
Lecturer: 辣母羊
在DOM之前
WINDOW
DOCUMENT
WINDOW
HISTORY
LOCATION
NAVIGATOR
SCREEN
parent
Child
目前的瀏覽器視窗
裝置的顯示器相關資訊
瀏覽器相關資訊
目前網頁頁面的URL位址
瀏覽紀錄中的頁面
window.alert() //建立包含訊息文字的對話框
window.open(“要加的URL”) //開啟新的瀏覽器視窗方法
今天會用到的特性
window.screen.height //視窗的高度
window.screen.width //視窗的寬度<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
<style>
body {
background-color: #a3d5d3;
font-size:50px;
}
</style>
<script>
function show(){
window.alert(window.screen.width+"x"+window.screen.height);
}
</script>
</head>
<body>
<button onclick="show()">show</button>
</body>
</html>document
<html>
<head>
<title>
<body>
<div>
<p>
text
attribute
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
<style>
body {
background-color: #a3d5d3;
font-size:50px;
}
</style>
<script>
function change(){
window.document.body.innerHTML="Hello";
}
</script>
</head>
<body>
<button onclick="change()">Change</button>
</body>
</html>首先,新增div標籤並寫下句子,在想改的字詞前後加入span標籤並賦予id
用JavaScript寫一個函式,利用document.getElementById()取得span標籤物件並修改
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
<style>
body {
background-color: #a3d5d3;
font-size:50px;
}
</style>
<script>
function change(){
var divObject = window.document.getElementById("aa");
divObject.innerHTML = " Iron Man";
}
</script>
</head>
<body>
<div id="demo">I am<span id ="aa"> Tony Stark</span>.</div>
<button onclick="change()">Change</button>
</body>
</html>用style屬性在JavaScript寫的函式中,取得span標籤物件並修改
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>HTML DOM</title>
<script type="text/javascript">
function change(){
var divObject=document.getElementById("endgame");
divObject.innerHTML = "Iron Man";
divObject.style.fontWeight = "bold";
divObject.style.color = "red";
}
</script>
</head>
<body>
<div>I am <span id="endgame">Tony Stark</span>.</div>
<button onclick="change()">Change</button>
</body>
</html>
首先,利用 createElement 方法建立新的標籤物件
利用 appendChild 將物件加入其他標籤物件的內部,此時,我們稱 div 標籤是 body 標籤的孩子(child)
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>HTML DOM</title>
<script type="text/javascript">
function change(){
var obj=document.createElement("div");
obj.innerHTML="這是新的 div 標籤物件";
document.body.appendChild(obj);
}
</script>
</head>
<body>
<div id="target">Hello World</div>
<button onclick="change()">Change</button>
</body>
</html>
首先利用document.getElementById()取得刪除目標
利用 parentNode 屬性取得刪除目標的父親,呼叫 removeChild 方法,並利用參數指定刪除對象
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>HTML DOM</title>
<script type="text/javascript">
function change(){
var obj=document.getElementById("target");
obj.parentNode.removeChild(obj);
}
</script>
</head>
<body>
<div id="target">Hello World</div>
<button onclick="change()">Change</button>
</body>
</html>
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>HTML DOM 選單開合操作</title>
<script type="text/javascript">
function toggleMenu(){
var menu=document.getElementById("menu");
if(menu.style.display=="none"){
menu.style.display="block";
}else{
menu.style.display="none";
}
}
</script>
</head>
<body>
<div onclick="toggleMenu()">Marvel</div>
<ul id="menu">
<li>Iron Man</li>
<li>Thor</li>
<li>Captain America</li>
</ul>
</body>
</html>
網頁前端工程入門:HTML DOM - 基本觀念 By 彭彭https://youtu.be/iZ3LfVujGCM
網頁前端工程入門:HTML DOM - 選單開合範例 By 彭彭https://youtu.be/SWhNYC6QYDc
Jon Duckett(2017)。JavaScript & JQuery網站互動設計程式進化之道(初版) 。台北市:碁峰出版。