Sử dụng biến trong id HTML
tôi nhận ra rằng khi chúng tôi thêm id vào phần tử html. phần tử đó có thể truy cập được trong JavaScript thông qua id của nó giống như một biến thông thường. xem mã. https. //mã số. tự học. com/Wi60wsW3C1Q8/?ref=app nếu điều này hoạt động trong tất cả các trình duyệt, tại sao chúng tôi sử dụng tài liệu. getElementById
Thuộc tính 6 chỉ định một id duy nhất cho phần tử HTML (giá trị phải là duy nhất trong tài liệu HTML) Show
Thuộc tính 6 được sử dụng nhiều nhất để trỏ đến một kiểu trong biểu định kiểu và bằng JavaScript (thông qua HTML DOM) để thao tác phần tử với id cụ thể ví dụLấy id của neo đầu tiên để id = tài liệu. getElementsByTagName("a")[0]. Tôi; Tự mình thử »Thay đổi id của một phần tử tài liệu. getElementById("bản trình diễn"). id = "newid"; Tự mình thử »Thay đổi kích thước phông chữ của "myP" phần tử const = tài liệu. getElementById("myP"); Định nghĩa và cách sử dụngThuộc tính 6 đặt hoặc trả về giá trị của thuộc tính id của phần tửcú phápTrả lại thuộc tính id Đặt thuộc tính id Giá trị tài sảnValueDescriptionidId của phần tửGiá trị trả vềTypeDescriptionStringId của phần tửHỗ trợ trình duyệt 9 được hỗ trợ trong tất cả các trình duyệtChromeEdgeFirefoxSafariOperaIECóCóCóCóCóCóHôm nay tôi được biết rằng các trình duyệt thêm các phần tử HTML có thuộc tính 6 hoặc 1 vào đối tượng 2. Kết quả là chúng trở thành biến toàn cục trong JavaScript. Lấy ví dụ này
Tôi đã tìm thấy một bài viết về StackOverflow từ 12 năm trước hỏi về hành vi này. Hóa ra các biến toàn cục này là các phần tử được đặt tên, trong khi tính năng này được gọi là Truy cập được đặt tên trên đối tượng cửa sổ. Internet Explorer đã giới thiệu chức năng này và sau đó, các trình duyệt khác đã sử dụng chức năng này vì một số trang web dựa vào hành vi. Lôi cuốn suy nghĩ đầu tiên của tôi là. "Ồ, tại sao hành vi này chưa bao giờ xung đột với bất kỳ mã JavaScript nào của tôi?" . Nếu bạn khai báo một biến trùng tên thì nó sẽ đứng trước biến toàn cục
Bạn cũng không nên sử dụng thẻ id hoặc tên để truy cập DOM. Thay vào đó, với vanilla JavaScript, hãy sử dụng các phương thức 3 hoặc 4 Bạn chỉ có thể sử dụng biến Javascript trong HTML bằng cách liên kết biến Javascript với phần tử HTML bằng thuộc tính 6 hoặc 6Liên kết biến Javascript với phần tử HTML
Mã số
Gán id cho phần tử Mã số
Nếu bạn kiểm tra điều này bây giờ, tất cả những gì bạn sẽ thấy là Giờ đây, bạn có thể thêm Javascript vào trang của mình bằng thẻ script
Bây giờ, bạn có thể bắt đầu làm việc với Javascript. Tạo biến Javascript của bạn Mã số
Bạn lấy phần tử trong Javascript bằng giá trị id được gán Mã số
Để hiển thị biến trong HTML, hãy gán biến cho phần tử trong Javascript bằng thuộc tính InternalHTML Mã số
Kết quả Hoàn thành mã ________số 8 Bạn có thể sử dụng phương pháp trên cho các biến chuỗi và số Sử dụng biến mảng Javascript trong HTMLĐể xem các biến mảng và đối tượng trong HTML, bạn phải lặp qua các mục trong Javascript trước khi chuyển chúng sang HTML Ví dụ
Kết quả Bạn cũng có thể tương tác với mã cho dự án này Chào bạn. Tôi là Avic Ndugu Tôi đã xuất bản hơn 100 bài đăng trên blog về HTML, CSS, Javascript, React và các chủ đề liên quan khác. Khi tôi không viết, tôi thích đọc sách, đi bộ đường dài và nghe podcast Bạn có biết rằng các phần tử DOM có ID có thể truy cập được trong JavaScript dưới dạng các biến toàn cục không? Nếu đây là lần đầu tiên bạn nghe về nó, hãy chuẩn bị tinh thần. Chúng ta có thể thấy nó hoạt động đơn giản bằng cách thêm ID vào một phần tử trong HTML 0Thông thường, chúng tôi sẽ xác định một biến mới bằng cách sử dụng 7 hoặc 8 để chọn phần tử đó 1Nhưng chúng tôi thực sự đã có quyền truy cập vào 9 mà không cần sự khắt khe đóDự phòng nhúng CodePen Vì vậy, bất kỳ thuộc tính 10 — hoặc 11 nào — trong HTML đều có thể được truy cập bằng JavaScript bằng cách sử dụng 12. Một lần nữa, điều này không chính xác là "mới" nhưng nó thực sự không phổ biến để xemNhư bạn có thể đoán, truy cập phạm vi toàn cầu với các tham chiếu được đặt tên không phải là ý tưởng hay nhất. Một số người đã gọi đây là “kẻ gây ô nhiễm phạm vi toàn cầu. ” Chúng ta sẽ tìm hiểu lý do tại sao lại như vậy, nhưng trước tiên… Một số bối cảnhCách tiếp cận này được phác thảo trong đặc tả HTML, nơi nó được mô tả là “quyền truy cập được đặt tên trên đối tượng 13. ”Internet Explorer là người đầu tiên triển khai tính năng này. Tất cả các trình duyệt khác cũng đã thêm nó. Gecko là trình duyệt duy nhất vào thời điểm đó không hỗ trợ nó trực tiếp ở chế độ tiêu chuẩn, thay vào đó chọn biến nó thành một tính năng thử nghiệm. Đã có sự do dự khi triển khai nó, nhưng nó đã tiến lên nhờ khả năng tương thích với trình duyệt (Gecko thậm chí đã cố thuyết phục WebKit chuyển nó ra khỏi chế độ tiêu chuẩn) và cuối cùng đã chuyển sang chế độ tiêu chuẩn trong Firefox 14 Một điều có thể không được biết rõ là các trình duyệt phải đưa ra một số biện pháp phòng ngừa — với mức độ thành công khác nhau — để đảm bảo các toàn cầu được tạo không phá vỡ trang web. Một biện pháp như vậy là… bóng biếnCó lẽ phần thú vị nhất của tính năng này là các tham chiếu phần tử được đặt tên không che khuất các biến toàn cục hiện có. Vì vậy, nếu một phần tử DOM có 10 đã được xác định là toàn cầu, thì phần tử đó sẽ không ghi đè lên phần tử hiện có. Ví dụ 7Và điều ngược lại cũng đúng 8Hành vi này là cần thiết vì nó vô hiệu hóa các ghi đè nguy hiểm chẳng hạn như 15, nếu không sẽ tạo ra xung đột bằng cách vô hiệu hóa API 16. Kỹ thuật bảo vệ này rất có thể là lý do tại sao bạn - nếu bạn giống tôi - đang tìm hiểu về điều này lần đầu tiênTrường hợp chống lại toàn cầu được đặt tênTrước đó, tôi đã nói rằng sử dụng các phần tử được đặt tên chung làm tham chiếu có thể không phải là ý tưởng hay nhất. Có rất nhiều lý do cho điều đó, mà TJ VanToll đã trình bày rất hay trên blog của anh ấy và tôi sẽ tóm tắt ở đây
cân nhắc bổ sungGiả sử chúng ta bỏ qua những lời chỉ trích chống lại việc sử dụng tên toàn cầu và vẫn sử dụng chúng. Tất cả đều tốt. Nhưng có một số điều bạn có thể muốn xem xét khi bạn làm polyfillNghe có vẻ như edge-case-y, các loại kiểm tra toàn cầu này là yêu cầu thiết lập điển hình đối với polyfill. Hãy xem ví dụ sau, nơi chúng tôi đặt cookie bằng cách sử dụng API 73 mới, điền vào nó trên các trình duyệt chưa hỗ trợ cookie 8Mã này hoạt động hoàn toàn tốt trong Chrome, nhưng gây ra lỗi sau trong Safari 9Safari thiếu hỗ trợ cho API 73 khi viết bài này. Do đó, polyfill không được áp dụng vì ID phần tử 75 tạo ra một biến toàn cục xung đột với biến toàn cầu 76Cập nhật API JavaScriptChúng tôi có thể lật ngược tình huống và tìm ra một vấn đề khác trong đó các bản cập nhật cho công cụ JavaScript của trình duyệt có thể phá vỡ các tham chiếu chung của phần tử được đặt tên Ví dụ 3Tập lệnh đó lấy một tham chiếu đến phần tử đầu vào và gọi 77 trên đó. Nó hoạt động chính xác. Tuy nhiên, chúng tôi không biết nó sẽ tiếp tục hoạt động trong bao lâuBạn thấy đấy, biến toàn cục mà chúng ta đang sử dụng để tham chiếu phần tử đầu vào sẽ ngừng hoạt động ngay khi các trình duyệt bắt đầu hỗ trợ API 78. Tại thời điểm đó, toàn cầu của 79 sẽ không còn là tham chiếu đến phần tử đầu vào và 80 sẽ đưa ra lỗi “ 81 không phải là một chức năng”.Phần kết luậnHãy tóm tắt cách chúng tôi đến đây
Vào cuối ngày, có lẽ nên tránh sử dụng tên toàn cầu được đặt tên trong JavaScript. Tôi đã trích dẫn thông số kỹ thuật trước đó về cách nó dẫn đến mã "dễ gãy", nhưng đây là toàn bộ văn bản để đưa điểm chính về nhà
Tôi nghĩ rằng bản thân thông số kỹ thuật HTML khuyên bạn nên tránh xa tính năng này đã nói lên điều đó Làm cách nào để sử dụng biến làm id trong HTML?div. id = array[i]; mà trong trường hợp của bạn đơn giản là. id=hiệnSản phẩmArray[i]; .
ID có thể là một biến không?Biến ID là biến xác định từng thực thể trong tập dữ liệu (người, hộ gia đình, v.v.) với một giá trị riêng biệt . Bài viết này liệt kê 5 thuộc tính của biến ID mà các nhà nghiên cứu cần lưu ý khi tạo, thu thập và hợp nhất dữ liệu.
Bạn có thể sử dụng các biến trong HTML không?Sử dụng thẻ . Thẻ HTML
Bạn có thể cung cấp ID cho div không?Thuộc tính id gán mã định danh cho phần tử . Id cho phép JavaScript dễ dàng truy cập phần tử |