-
Tôi đã trở lại với trang web về chó, và nhất định tôi sẽ sử dụng JavaScript
-
và DOM api để biến nó thành một trang web hoàn toàn về mèo.
-
Vẫn còn một điều nữa mà tôi chưa nhắc tới. Thực ra
-
vẫn còn một chú chó; hai chú chó thì đúng hơn—là những hình ảnh này. Tôi không thể để ảnh
-
những chú chó đáng yêu này trên trang web về mèo được. Tôi phải đổi ảnh thôi.
-
Ta sẽ bắt đầu với tìm kiếm ảnh, sử dụng getElementsByTagName.
-
`var imageEls = document.getElementsByTagName("img");`
-
Bây giờ, vì dòng mã đó sẽ trả về nhiều phần tử,
-
ta cần phải sử dụng một vòng lặp for để lặp, nên tôi sẽ tạo luôn.
-
`var i = 0; i < imageEls.length; i++`
-
Nhưng tôi sẽ phải đưa gì vào trong vòng lặp? Tôi không thể thay đổi các phần tử ảnh với
-
innerHTMl vì các tag image không có innerHTML. Chúng là tag đóng tự động.
-
Thay vào đó, tôi cần phải thay đổi một thứ để khiến chúng trông như những chú chó—
-
URL của hình ảnh, được chỉ định
-
bằng thuộc tính src trong mỗi tag.
-
Ta có thể thay đổi thuộc tính của phần tử bằng ký hiệu chấm. Để tôi cho các bạn xem nhé.
-
Trước hết ta truy cập phần tử hiện tại với ký hiệu ngoặc, sau đó chấm
-
và đặt tên thuộc tính HTML làm tên tính chất JavaScript—src—bằng
-
sau đó ta đặt nó bằng một giá trị mới; tôi sẽ chỉ đặt vào một chuỗi trống thôi.
-
Chú ý hình ảnh trở nên trắng trơn,
-
vì một chuỗi trống không hướng tới bất cứ một hình ảnh nào.
-
Để biết URL mới này là gì, tôi sẽ dán vào URL cũ
-
và đổi tên file thành cat, vì tình cờ tôi biết được
-
đó chính là URL ảnh mèo trên Học viện Khan.
-
Yay. Giờ chó đã biến thành mèo rồi, triều đại mèo sắp hoàn tất rồi.
-
Các bạn có thấy ta cần phải làm gì với những chú chó nữa không? Khá là khó nhận ra, nhưng
-
vẫn còn một điều nữa—đường link tới Wikipedia. Đó sẽ là một trang web về chó
-
và nếu bạn đọc ấn vào, họ sẽ nhận ra mánh khóe của tôi.
-
Thay vào đó tôi sẽ dẫn họ tới trang web về mèo. Làm thế nào tôi có thể tìm thấy link đó trong JavaScript?
-
Tôi có thể tạo cho đường link này một ID và sử dụng getElementById.
-
Hoặc tôi có thể sử dụng getElementsByTagName và thay đổi toàn bộ link trên trang web.
-
Hoặc tôi muốn làm màu,
-
và chỉ tìm những link đi tới các trang web về chó, sử dụng một bộ chọn query CSS.
-
Trước hết để tôi cho các bạn xem query CSS mà tôi muốn thực hiện trong tag .
-
Như vậy query CSS này sẽ tìm tất cả những link có liên quan đến chó.
-
Đầu tiên tôi sẽ nhập `a`, vì tôi chỉ tìm link thôi.
-
Sau đó tôi sẽ nhập `[href*=”Dog”]`.
-
Dòng mã này sẽ lệnh cho CSS tìm tất cả những link có từ “Dog”.
-
Tiếp theo ta sẽ chuyển thành màu tím. Tada, xong rồi.
-
Như này là khá gọn gàng rồi, đây là một bộ chọn thuộc tính, và có rất nhiều cách
-
sử dụng bộ chọn thuộc tính hiệu quả để đào sâu vào tài liệu.
-
Bây giờ để tìm trong JavaScript, ta có thể sử dụng document.querySelectorAll, vì vậy tôi sẽ nhập
-
`var linkEIs = document.querySelectorAll`, sau đó ta chỉ cần dán vào
-
bộ chọn vừa tạo, mặc dù ta phải đảm bảo
-
đã thoát dấu ngoặc kép. Được rồi đó. Bây giờ trông nó giống một chuỗi rồi.
-
Và tôi cần phải lặp qua tất cả, nên tôi sẽ tạo một vòng lặp for nữa—
-
các bạn nên sử dụng thật thành thục vòng lặp for đi—và với mỗi lần lặp
-
tôi sẽ thay đổi đường link thành trang web về mèo trên Wikipedia.
-
Tôi sẽ nhập `linkEIs[i].href`--
-
vì đó là tên thuộc tính ta đang thay đổi—sau đó =,
-
tiếp theo tôi sẽ tìm URL này và dán vào đây để chuyển thành trang web về mèo,
-
vì tôi khá chắc chắn đây là URL của trang đó.
-
Tada, mèo đã xâm chiếm xong thế giới. Nhưng các bạn vẫn chưa
-
biết hết về xử lý trang web với JavaScript đâu, vậy nên đừng đi đâu nhé!