Lập trình thiết kế Web 1 - Bài 6 - Phần 2/2: HTML DOM với Javascript
HTML DOM = HTML Document Object Model
Xem trang web nhưmộtcâygồmnhiều nút (node)
Mỗinútlàmột thành phần (tag HTML, thuộc tính, nội dung
củatag)
DOM định nghĩamộtcáchđểtruy xuấtvàđiềukhiểncác
thành phần trong 1 trang web
i dungdung HTMLHTML bênbên trongtrong mmộộtt node.node.
Ví dụ:
//
// some text
//
var theElement = document.getElementById("para1");
theElement.innerHTML = “Some new text”;
// Kếtquả :
//
// Some new text
//
© 2007 Khoa CNTT - ĐHKHTN
Lập trình và Thiếtkế Web 1 – Bài 6 : DOM HTML với Javascript
ĐĐốốii ttưượợngng DocumentDocument -- DOMDOM
innerTextinnerText
TTươươngng ttựự innerHTMLinnerHTML,, tuytuy nhiênnhiên bbấấtt kkỳỳ nnộộii dungdung nnààoo đưđưaa
vvààoo ccũũngng đưđượợcc xemxem nhnhưư llàà texttext hhơơnn llàà ccáácc ththẻẻ HTML.HTML.
Ví dụ:
var theElement = document.getElementById("para1");
theElement.innerText = “Some new text”;
// Kếtquả hiểnthị trên trình duyệt
// bên trong thẻ p: “Some new text”
© 2007 Khoa CNTT - ĐHKHTN
Lập trình và Thiếtkế Web 1 – Bài 6 : DOM HTML với Javascript
ĐĐốốii ttưượợngng DocumentDocument -- DOMDOM
setAttributesetAttribute (( attributeNameattributeName ,, valuevalue ))
ChChỉỉ đđịịnhnh attributeattribute ccủủaa mmộộtt nodenode vvớớii gigiáá trtrịị llàà value.value.
Ví dụ:
Some text
var fontNode = document.getElementById(“font1”);
fontNode.setAttribute(“color”,”red”);
fontNode.setAttribute(“size”,”5”);
Some text
© 2007 Khoa CNTT - ĐHKHTN
Lập trình và Thiếtkế Web 1 – Bài 6 : DOM HTML với Javascript
ĐĐốốii ttưượợngng DocumentDocument -- DOMDOM
getAttributegetAttribute (( attributeNameattributeName ))
LLấấyy gigiáá trtrịị ccủủaa mmộộtt attributeattribute trongtrong nodenode
Ví dụ:
var font1 = document.getElementById(“font1”);
alert(font1.getAttribute(“color”));
zz removeAttributeremoveAttribute (( attributeNameattributeName ))
HHủủyy mmộộtt attributeattribute trongtrong nodenode
Ví dụ:
font1.removeAttribute(“color”);
font1.removeAttribute(“size”);
© 2007 Khoa CNTT - ĐHKHTN
Lập trình và Thiếtkế Web 1 – Bài 6 : DOM HTML với Javascript
ĐĐốốii ttưượợngng DocumentDocument -- DOMDOM
ThayThay đđổổii đđịịnhnh ddạạngng CSSCSS ccủủaa mmộộtt nodenode thôngthông quaqua
thuthuộộcc ttíínhnh stylestyle
Ví dụ:
This is a
text
var node =
document.getElementById(“myParagraph”);
node.style.color = "green";
node.style.fontSize = "14";
node.style.backgroundColor = "yellow";
© 2007 Khoa CNTT - ĐHKHTN
Lập trình và Thiếtkế Web 1 – Bài 6 : DOM HTML với Javascript
ĐĐốốii ttưượợngng DocumentDocument -- DOMDOM
ThayThay đđổổii đđịịnhnh ddạạngng csscss thôngthông quaqua thuthuộộcc ttíínhnh classNameclassName
Ví dụ:
.look1 { color: black; background-color: yellow;
font-style: normal; }
.look2 { background-color: orange; font-style:
italic; }
this is my text
var pNode = document.getElementById("p1");
pNode.className = "look2";
© 2007 Khoa CNTT - ĐHKHTN
Lập trình và Thiếtkế Web 1 – Bài 6 : DOM HTML với Javascript
ĐĐốốii ttưượợngng DocumentDocument -- DOMDOM
ThayThay đđổổii thamtham chichiếếuu đđếếnn filefile CSSCSS
Ví dụ:
function changeSkin()
{
document.getElementById("myStyle").href =
"css/style2.css";
}
<link id="myStyle" rel="stylesheet"
type="text/css" href="css/style1.css" />
Hello world
<input type="button" onclick="changeSkin()"
value="change skin" />
© 2007 Khoa CNTT - ĐHKHTN
Lập trình và Thiếtkế Web 1 – Bài 6 : DOM HTML với Javascript
VVíí ddụụ:: DynamicDynamic TableTable
ViViếếtt trangtrang webweb chocho phphéépp ttạạoo tabletable ccóó ssốố dòngdòng,, ssốố
ccộộtt dodo ngngưườờii ddùùngng nhnhậậpp vvààoo..
© 2007 Khoa CNTT - ĐHKHTN
Lập trình và Thiếtkế Web 1 – Bài 6 : DOM HTML với Javascript
VVíí ddụụ:: DynamicDynamic TableTable
body
Table
>
1212 Tr
1313
>
Td
>
Td
2121
2222
Tr
>
Td
© 2007 Khoa CNTT - ĐHKHTN Td
Lập trình và Thiếtkế Web 1 – Bài 6 : DOM HTML với Javascript
body
VVíí ddụụ::
Table
TBody
>
>
1212 Tr
1313
>
Td
>
Td
2121
2222
Tr
>
>
Td
© 2007 Khoa CNTT - ĐHKHTN Td
Lập trình và Thiếtkế Web 1 – Bài 6 : DOM HTML với Javascript
VVíí ddụụ:: DynamicDynamic TableTable
document.createElementdocument.createElement((……)) ::TTạạoo mmộộtt đđốốii ttưượợngng
ththẻẻ DOMDOM HTMLHTML
object.appendChildobject.appendChild((……):): ThêmThêm mmộộtt đđốốii ttưượợngng ththẻẻ
DOMDOM HTMLHTML nhnhưư llàà nnúútt con.con.
© 2007 Khoa CNTT - ĐHKHTN
Lập trình và Thiếtkế Web 1 – Bài 6 : DOM HTML với Javascript
VVíí ddụụ:: DynamicDynamic TableTable
functionfunction CreateTable(divTable)CreateTable(divTable)
{{
varvar tagTabletagTable == document.createElementdocument.createElement("table");("table");
tagTable.bordertagTable.border == 1;1;
varvar tagTBodytagTBody == document.createElementdocument.createElement("tbody");("tbody");
tagTable.tagTable.appendChildappendChild(tagTBody);(tagTBody);
varvar nDongnDong == txttxtSoDong.value;SoDong.value;
varvar nCotnCot == txttxtSoCot.value;SoCot.value;
forfor (i=0;(i=0; i<nDong;i<nDong; i++)i++)
{{
varvar tagTRtagTR == document.document.createElementcreateElement("tr");("tr");
forfor (j=0;(j=0; j<nCot;j<nCot; j++)j++)
{{
varvar tagTDtagTD == document.document.createElementcreateElement("td");("td");
varvar textNodetextNode == document.document.createTextNodecreateTextNode(i+""+j);(i+""+j);
tagTD.tagTD.appendChildappendChild(textNode);(textNode);
tagTR.tagTR.appendChildappendChild(tagTD);(tagTD);
}}
tagTBody.tagTBody.appendChildappendChild(tagTR);(tagTR);
}}
divTable.divTable.appendChildappendChild(tagTable);(tagTable);
}}
© 2007 Khoa CNTT - ĐHKHTN
Lập trình và Thiếtkế Web 1 – Bài 6 : DOM HTML với Javascript
NNộộii dungdung
Giớithiệuvề HTML DOM
Thuộc tính (Property) và Phương thức (Method)
Xử lý sự kiện(Event)
© 2007 Khoa CNTT - ĐHKHTN
Lập trình và Thiếtkế Web 1 – Bài 6 : DOM HTML với Javascript
XXửử lýlý ssựự kikiệệnn
Event Object
Event Handler
Xử lý sự kiện
Ví dụ
© 2007 Khoa CNTT - ĐHKHTN
Lập trình và Thiếtkế Web 1 – Bài 6 : DOM HTML với Javascript
XXửử lýlý ssựự kikiệệnn
Event Object
Event Handler
Xử lý sự kiện
Ví dụ
© 2007 Khoa CNTT - ĐHKHTN
Lập trình và Thiếtkế Web 1 – Bài 6 : DOM HTML với Javascript
XXửử lýlý ssựự kikiệệnn –– EventEvent ObjectObject
Events là các sự kiện xảy ra trên trang Web
Do người dùng hoặc do hệ thống tạo ra
Mỗi sự kiện sẽ liên quan đến một event object
Cung cấp thông tin về event
– Loại event
– Vị trí con trỏ tại thời điềm xảy ra sự kiện
© 2007 Khoa CNTT - ĐHKHTN
Lập trình và Thiếtkế Web 1 – Bài 6 : DOM HTML với Javascript
XXửử lýlý ssựự kikiệệnn
Event Object
Event Handler
Xử lý sự kiện
Ví dụ
© 2007 Khoa CNTT - ĐHKHTN
Lập trình và Thiếtkế Web 1 – Bài 6 : DOM HTML với Javascript
XXửử lýlý ssựự kikiệệnn –– EventEvent HandlerHandler
Giúp cho ngườilậptrìnhbắtvàxử lý các sự kiệncủacác
đốitượng trong trang web.
Cú pháp
Ví dụ :
<INPUT TYPE="button” NAME=“Button1”
VALUE="Open Sesame!” onClick=”window.open('mydoc.html','newWin')”>
© 2007 Khoa CNTT - ĐHKHTN
Lập trình và Thiếtkế Web 1 – Bài 6 : DOM HTML với Javascript
XXửử lýlý ssựự kikiệệnn –– EventEvent HandlerHandler
Danh sách mộtsố Event Handler thường sử dụng
onabort onload
onblur onmousedown
onchange onmousemove
onclick onmouseout
onerror onmouseover
onfocus onmouseup
onkeydown onreset
onkeyup onresize
onselect onsubmit
onunload
© 2007 Khoa CNTT - ĐHKHTN
Lập trình và Thiếtkế Web 1 – Bài 6 : DOM HTML với Javascript
XXửử lýlý ssựự kikiệệnn
Event Object
Event Handler
Xử lý sự kiện
Ví dụ
© 2007 Khoa CNTT - ĐHKHTN
Lập trình và Thiếtkế Web 1 – Bài 6 : DOM HTML với Javascript
XXửử lýlý ssựự kikiệệnn chocho ccáácc ththẻẻ HTMLHTML
Cú pháp
Ví dụ:
<INPUT TYPE="button“ NAME="Button1“
VALUE="OpenSesame!”
onClick="window.open('mydoc.html','newWin');">
Lưuý: Dấu “…” và ‘…’
© 2007 Khoa CNTT - ĐHKHTN
Lập trình và Thiếtkế Web 1 – Bài 6 : DOM HTML với Javascript
XXửử lýlý ssựự kikiệệnn
Xử lý bằng function
function greeting() {
alert("Welcome to my world");
}
© 2007 Khoa CNTT - ĐHKHTN
Lập trình và Thiếtkế Web 1 – Bài 6 : DOM HTML với Javascript
XXửử lýlý ssựự kikiệệnn
Xử lý bằng thuộctính:
– Gán tên hàm xử lý cho 1 object event
object.eventhandler = functionname;
function greeting() {
alert("Welcome to my world");
}
window.onload = greeting;
© 2007 Khoa CNTT - ĐHKHTN
Lập trình và Thiếtkế Web 1 – Bài 6 : DOM HTML với Javascript
XXửử lýlý ssựự kikiệệnn –– DanhDanh ssááchch ccáácc ssựự kikiệệnn ccủủaa FormForm fieldfield
Blur Click Change Focus Load Mouseo Select Submit Unload
ver
Button x
Checkbox x
Document x x
Form x
Link x x
Radio x
Reset x
Selection x x x
Submit x
Text x x x x
Textarea x x x x
© 2007 Khoa CNTT - ĐHKHTN
Lập trình và Thiếtkế Web 1 – Bài 6 : DOM HTML với Javascript
XXửử lýlý ssựự kikiệệnn
Event Object
Event Handler
Xử lý sự kiện
Ví dụ
© 2007 Khoa CNTT - ĐHKHTN
Lập trình và Thiếtkế Web 1 – Bài 6 : DOM HTML với Javascript
VVíí ddụụ:: onclickonclick EventEvent
function compute(frm){
var x = frm.expr.value;
result.innerHTML = x*x;
}
X =
<INPUT TYPE="button" VALUE=“Calculate”
ONCLICK="compute(this.form)">
X * X =
© 2007 Khoa CNTT - ĐHKHTN
Lập trình và Thiếtkế Web 1 – Bài 6 : DOM HTML với Javascript
VVíí ddụụ:: onFocusonFocus -- onBluronBlur
Xảyrakhimột thành phầnHTML bị focus (onFocus) và mất
focus (onBlur)
Ví dụ:
<INPUT type=“text” name=“myTextbox”
onblur=“(document.bgColor='aqua')”
onfocus=“(document.bgColor='dimgray')”>
© 2007 Khoa CNTT - ĐHKHTN
Lập trình và Thiếtkế Web 1 – Bài 6 : DOM HTML với Javascript
VVíí ddụụ:: onMouseOveronMouseOver -- onMouseOutonMouseOut
function showLink(num) {
if (num==1)
document.forms[0].elements[0].value=
"You have selected Aptech";
} else {
document.forms[0].elements[0].value=“”;
}
}
Aptech
© 2007 Khoa CNTT - ĐHKHTNFile đính kèm:
Lập trình và thiết kế Web 1 - Bài 6_Phần 2.2_HTML DOM với Javascript.pdf

