1. Trang chủ
  2. » Công Nghệ Thông Tin

Lập trình Javascript và HTML DOM

55 148 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 55
Dung lượng 7,87 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Tổng quan về DOM – HTML• HTML DOM = HTML D ocument O bject M odel • Xem trang web như một cây gồm nhiều nút node • Mỗi nút là một thành phần tag HTML, thuộc tính, nội dung của tag • DOM

Trang 1

Javascript - DOM

Luong Tran Hy Hien

Trang 3

1 Tổng quan về DOM – HTML

• HTML DOM = HTML D ocument O bject M odel

• Xem trang web như một cây gồm nhiều nút (node)

• Mỗi nút là một thành phần (tag HTML, thuộc tính, nội dung của tag)

• DOM định nghĩa một cách để truy xuất và điều khiển các thành phần trong 1 trang web

Trang 4

1 Tổng quan về DOM – HTML

Trang 5

1 Tổng quan về DOM – HTML

Trang 6

1 Tổng quan về DOM – HTML

Trang 7

1 Tổng quan về DOM – HTML

• Mỗi đối tượng DOM đều có danh sách thuộc

thức (Method) tương ứng

Trang 8

2 Một số đối tượng trong DOM

Trang 9

2.1 DOM - window

• Là thể hiện của đối tượng cửa sổ trìnhduyệt

• Tồn tại khi mở 1 tài liệu HTML

• Sử dụng để truy cập thông tin window

• Điều khiển các sự kiện xảy ra trongwindow

• Nếu tài liệu định nghĩa nhiều frame,

Trang 10

2.1 DOM - window

Trang 11

2.2 DOM - location

Chứa thông tin hiện tại của URL

Trang 12

2.3 DOM - history

Cung cấp danh sách các URL

đã được duyệt bởi người sử dụng

Trang 13

2.4 DOM - navigator

Cung cấp thông tin

về trình duyệt

Trang 14

2.5 DOM - document

• Biểu diễn cho toàn bộ các thành phần

• Dùng để lấy thông tin về tài liệu, các

Trang 15

2.5 DOM - document

Trang 16

2.6 DOM – image

• Có thể truy xuất thông qua:

– document images [ index ]

– document images [“ ImageName ”]

– document ImageName

• Một số thuộc tính của Image Obj

– alt, border, classname, title ,

– width, height , hspace, vspace,

– id, name, src , lowsrc, longDesc,

– isMap, complete

Trang 17

2.7 DOM – form

• Dùng để truy xuất đến tag < form > trên trang web

• Có thể truy xuất thông qua

– document forms [ index ]

– document forms [“ FormName ”]

– document FormName

• Một số thuộc tính

– action, method , id, name , target

– classname , title, language, dir

– elements[ ]

• Một số phương thức

Trang 18

2.8 DOM – element

• Tương ứng với form field

• Cách truy xuất

document.formName.controlName

< form name=“ searchForm ” action=“xuly.php”>

< input type=“text” name=“entry”>

< input type=“submit” name=“ sender ” value=“Search”>

</ form >

-document searchForm entry

document searchForm elements[ 0 ]

document forms[“ searchForm ”].elements[“ entry ”]

Trang 19

3 Làm việc với document - DOM

Biểu diễn nội dung tài liệu theo cấu trúc cây

Trang 20

3 Làm việc với document - DOM

Cấu trúc cây của tài liệu

Trang 21

3 Làm việc với document - DOM

Trang 22

3 Làm việc với document - DOM

• getElementById(“id1 ” ): trả về node có giá trị thuộc tính id = id1

• Ví dụ :

// <p id="id1" >

// </p>

var node = document getElementById(“ id1 ”);

var nodeName = node nodeName; // p

var nodeType = node nodeType; // 1

var nodeValue = node nodeValue; // null

Trang 23

3 Làm việc với document - DOM

• getElement s ByName ( name1 ): trả về danh sách node

có giá trị của thuộc tính name = name1

• Ví dụ:

var nodeList =document.getElementsByName(“ name1 ”);

for(var i=0;i< nodeList length;++i)

{

var nodeName = nodeList (i).nodeName;

var nodeType = nodeList (i).nodeType;

Trang 24

Đối tượng Document - DOM

Trả về danh sách node có NodeName =

var nodeName = nodeList(i).nodeName;

var nodeType = nodeList(i).nodeType;

var nodeValue = nodeList.item(i).nodeValue;

Trang 25

3 Làm việc với document - DOM

• createElement(nodeName): tạo ra một node

• Ví dụ:

var imgNode = document createElement(“ img ”); imgNode.src=“images/test.gif”;

//<img src=“images/test.gif”/>

Trang 26

3 Làm việc với document - DOM

• createTextNode(content): tạo ra một textnode

Trang 27

3 Làm việc với document - DOM

• nodeName.appendChild(newNode): thêm

node con của một node

• Ví dụ:

// <p id=“id1”> Some text </p>

var pNode =document.getElementById(“id1”);

var imgNode =document.createElement(“ img ”);

imgNode src=“images/test.gif”;

pNode appendChild( imgNode );

Trang 28

3 Làm việc với document - DOM

• nodeName.insertBefore(newNode,childRef):

sách các node con của một node

// <p id=“id1”><img src=“images/test.gif”></p>

var pNode =document.getElementById(“id1”);

// -var firstChild =pNode.firstChild;

var newNode =document.createTextNode(“ Some text ”); pNode.insertBefore(newNode, firstChild );

// <p id=“id1”>

// -// Some text <img src=“images/test.gif”>

Trang 29

3 Làm việc với document - DOM

• nodeName.removeChild(child): xóa child

trong danh sách các node con của một node gọi phương thức, trả về node bị xóa

// <p id=“id1”><img src=“images/test.gif”>Hình ảnh</p> // -

var pNode =document.getElementById(“id1”);

if ( pNode hasChildNodes())

var rmNode=pNode.removeChild(pNode.lastChild); // -

Trang 30

3 Làm việc với document - DOM

• replaceChild ( newChild, oldChild )

newChild trong danh sách các node con của node hiện hành

Trang 31

3 Làm việc với document - DOM

• innerHTML

Chỉ định nội dung HTML bên trong một

node

Ví dụ:

//<p id=“para1" >some text</p>

var theElement = document.getElementById("para1");

theElement innerHTML = “Some <b> new </b> text”;

Trang 32

3 Làm việc với document - DOM

• innerText

Tương tự innerHTML, tuy nhiên bất kỳ nội dùng nào đưa vào cũng được xem như là text hơn là các thẻ HTML

Ví dụ:

var theElement = document.getElementById("para1");

theElement.innerText = “Some <b> new </b> text”;

// Kết quả hiển thị trên trình duyệt

// bên trong thẻ p: “Some <b> new </b> text”

Trang 33

3 Làm việc với document - DOM

• setAttribute ( attributeName , value )

Chỉ định attribute của một node với giá trị là value

Ví dụ:

<font id=“font1” >Some text</font>

<script language=“javascript” >

var fontNode = document.getElementById(“ font1 ”);

fontNode setAttribute (“color”,”red”);

fontNode setAttribute (“size”,”5”);

</script>

Trang 34

3 Làm việc với document - DOM

• getAttribute ( attributeName )

Lấy giá trị của một attribute trong node

Ví dụ:

var font1 = document.getElementById(“font1”);

alert(font1.getAttribute(“color”));

Trang 35

3 Làm việc với document - DOM

• Thay đổi định dạng CSS của một node

thông qua thuộc tính style

Ví dụ:

<p id=“myParagraph” style="color: red;">This is a text</p>

<script language=“javascript” >

var node = document.getElementById(“myParagraph”);

node.style.color = "green";

node.style.fontSize = "14";

Trang 36

3 Làm việc với document - DOM

• Thay đổi định dạng css thông qua thuộc tính className

Trang 37

3 Làm việc với document - DOM

• Thay đổi tham chiếu đến file CSS

Ví dụ:

<head>

<script language="javascript" >

function changeSkin() {

Trang 38

4 Xử lý sự kiện

1 Event Object

2 Event Handle

Trang 39

4.1 Event Object

• Events là các sự kiện xảy ra trên trangWeb

• 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 eventobject

• Event cung cấp các thông tin

– Loại event

Trang 40

4.1 Event Object

Trang 44

4.3 Xử lý sự kiện

Ví dụ

Trang 45

4.3 Xử lý sự kiện

Trang 46

X = <INPUT TYPE="text" NAME=" expr " SIZE=15> <BR>

<input type="button“ value=“Cal” ONCLICK="compute(this.form)">

<p>X * X = <SPAN ID=" result "></SPAN></p>

</form>

Trang 47

5 Một số ví dụ

Trang 48

< INPUT type=“ text ” name =“myTextbox”

onblur=“ document bgColor =‘ aqua ’;”

onfocus=“ document bgColor =‘ dimgray ’;” >

</ FORM >

Trang 49

5 Một số ví dụ

Trang 50

Ví dụ: Dynamic Table

• Viết trang web cho phép tạo table có số dòng, số cột do người dùng nhập vào

Trang 52

TBody

body

Trang 53

Ví dụ: Dynamic Table

tượng thẻ DOM HTML

thẻ DOM HTML như là nút con

Trang 54

var nDong = txtSoDong.value;

var nCot = txtSoCot.value;

for (i=0; i<nDong; i++) {

var tagTR = document.createElement("tr");

for (j=0; j<nCot; j++) {

var tagTD = document.createElement("td");

var textNode = document.createTextNode(i+""+j); tagTD.appendChild(textNode);

Trang 55

Tham khảo

• Website W3school

• Slide lập trình Web, ĐH KHTN, 2007

Ngày đăng: 17/03/2015, 14:47

TỪ KHÓA LIÊN QUAN