Hướng dẫn what is innerhtml used for in javascript? - Internalhtml được sử dụng để làm gì trong javascript?

Thí dụ

Nhận nội dung HTML của một phần tử có ID = "MYP":

Show

Đặt html = document.getEuityById ("myp"). InternalHtml;

Hãy tự mình thử »

Thay đổi nội dung HTML của một phần tử bằng id = "demo":

document.getEuityById ("demo"). Internhtml = "Tôi đã thay đổi!";

Hãy tự mình thử »

Thay đổi nội dung HTML của một phần tử bằng id = "demo":

document.getEuityById ("demo"). Internhtml = "Tôi đã thay đổi!";

Hãy tự mình thử »

Thay đổi nội dung HTML của một phần tử bằng id = "demo":

document.getEuityById ("demo"). Internhtml = "Tôi đã thay đổi!";

Hãy tự mình thử »

Thay đổi nội dung HTML của một phần tử bằng id = "demo":


document.getEuityById ("demo"). Internhtml = "Tôi đã thay đổi!";

Nhận nội dung HTML của một phần tử có ID = "MYLIST":

Đặt html = document.getEuityById ("mylist"). InternalHtml; innerHTML, innerText and textContent

Xóa nội dung HTML của phần tử bằng id = "demo":


phần tử.innerhtml = "";

Thêm ví dụ dưới đây.

Định nghĩa và cách sử dụng

Thuộc tính document.body.innerHTML = ""; 2 đặt hoặc trả về nội dung HTML (HTML bên trong) của một phần tử.

Sự khác biệt giữa InternHTML, InnerText và TextContentXem bên dưới
Cú phápTrả lại thuộc tính bên trong:

Đặt thuộc tính bên trong:

Giá trị tài sảnXem bên dưới
Cú phápTrả lại thuộc tính bên trong:


Đặt thuộc tính bên trong:

Thí dụ

Giá trị tài sản

Tài sản
document.getElementById("myP").innerHTML = text;
document.getElementById("myDIV").innerHTML = text;

Hãy tự mình thử »

Thí dụ

Thay đổi nội dung HTML của một phần tử bằng id = "demo":

document.getEuityById ("demo"). Internhtml = "Tôi đã thay đổi!";

Hãy tự mình thử »

Thí dụ

Thay đổi nội dung HTML của một phần tử bằng id = "demo":

document.getEuityById ("demo"). Internhtml = "Tôi đã thay đổi!";
element.href = "https://www.w3schools.com";

Hãy tự mình thử »


Đặt html = document.getEuityById ("mylist"). InternalHtml; innerHTML, innerText and textContent

Xóa nội dung HTML của phần tử bằng id = "demo":
The text content of the element, including all spacing and inner HTML tags.
phần tử.innerhtml = "";
Just the text content of the element and all its children, without CSS hidden text spacing and tags, except "; el.innerHTML = name; // harmless in this case

Mặc dù điều này có thể trông giống như một cuộc tấn công kịch bản chéo trang, nhưng kết quả là vô hại. HTML chỉ định rằng thẻ

const list = document.getElementById("list");

list.innerHTML += `
  • Item ${list.children.length + 1}
  • `
    ;
    6 được chèn bằng
    document.body.innerHTML = "";
    
    2 không nên thực thi.

    Tuy nhiên, có nhiều cách để thực hiện JavaScript mà không cần sử dụng các phần tử

    const list = document.getElementById("list");
    
    list.innerHTML += `
  • Item ${list.children.length + 1}
  • `
    ;
    6, do đó vẫn có rủi ro bảo mật bất cứ khi nào bạn sử dụng
    document.body.innerHTML = "";
    
    2 để đặt các chuỗi mà bạn không có quyền kiểm soát. Ví dụ:

    const name = "";
    el.innerHTML = name; // shows the alert
    

    Vì lý do đó, nên thay vì

    document.body.innerHTML = "";
    
    2 bạn sử dụng:

    • document.documentElement.innerHTML = `
      ${document.documentElement.innerHTML.replace(/</g,"<")}
      `
      ;
      7 để vệ sinh văn bản trước khi nó được chèn vào DOM.
    • let name = "John";
      // assuming 'el' is an HTML DOM element
      el.innerHTML = name; // harmless in this case
      
      // …
      
      name = "";
      el.innerHTML = name; // harmless in this case
      
      2 Khi chèn văn bản đơn giản, vì điều này chèn nó dưới dạng văn bản thô thay vì phân tích cú pháp nó là HTML.

    Ví dụ

    Ví dụ này sử dụng

    document.body.innerHTML = "";
    
    2 để tạo cơ chế để đăng nhập tin nhắn vào một hộp trên trang web.

    JavaScript

    function log(msg) {
      const logElem = document.querySelector(".log");
    
      const time = new Date();
      const timeStr = time.toLocaleTimeString();
      logElem.innerHTML += `${timeStr}: ${msg}
    `
    ; } log("Logging mouse events inside this container…");

    Xin lưu ý rằng sử dụng

    document.body.innerHTML = "";
    
    2 để nối các yếu tố HTML (ví dụ:
    const list = document.getElementById("list");
    
    list.innerHTML += `
  • Item ${list.children.length + 1}
  • `
    ;
    4) sẽ dẫn đến việc loại bỏ bất kỳ trình nghe sự kiện được đặt trước đó. Đó là, sau khi bạn nối bất kỳ phần tử HTML nào theo cách bạn sẽ không thể nghe người nghe sự kiện đã đặt trước đó.

    Cân nhắc về Bảo mật

    function logEvent(event) {
      const msg = `Event ${event.type} at ${event.clientX}, ${event.clientY}`;
      log(msg);
    }
    

    Không có gì lạ khi thấy

    document.body.innerHTML = "";
    
    2 được sử dụng để chèn văn bản vào một trang web. Có khả năng để trở thành một vector tấn công trên một trang web, tạo ra rủi ro bảo mật tiềm năng.

    const boxElem = document.querySelector(".box");
    
    boxElem.addEventListener("mousedown", logEvent);
    boxElem.addEventListener("mouseup", logEvent);
    boxElem.addEventListener("click", logEvent);
    boxElem.addEventListener("mouseenter", logEvent);
    boxElem.addEventListener("mouseleave", logEvent);
    

    HTML

    JavaScript

    document.body.innerHTML = "";
    
    0

    Xin lưu ý rằng sử dụng

    document.body.innerHTML = "";
    
    2 để nối các yếu tố HTML (ví dụ:
    const list = document.getElementById("list");
    
    list.innerHTML += `
  • Item ${list.children.length + 1}
  • `
    ;
    4) sẽ dẫn đến việc loại bỏ bất kỳ trình nghe sự kiện được đặt trước đó. Đó là, sau khi bạn nối bất kỳ phần tử HTML nào theo cách bạn sẽ không thể nghe người nghe sự kiện đã đặt trước đó.

    Cân nhắc về Bảo mật

    Không có gì lạ khi thấy

    document.body.innerHTML = "";
    
    2 được sử dụng để chèn văn bản vào một trang web. Có khả năng để trở thành một vector tấn công trên một trang web, tạo ra rủi ro bảo mật tiềm năng.

    document.body.innerHTML = "";
    
    1

    Mặc dù điều này có thể trông giống như một cuộc tấn công kịch bản chéo trang, nhưng kết quả là vô hại. HTML chỉ định rằng thẻ const list = document.getElementById("list"); list.innerHTML += `
  • Item ${list.children.length + 1}
  • `; 6 được chèn bằng document.body.innerHTML = ""; 2 không nên thực thi.

    Tuy nhiên, có nhiều cách để thực hiện JavaScript mà không cần sử dụng các phần tử

    const list = document.getElementById("list");
    
    list.innerHTML += `
  • Item ${list.children.length + 1}
  • `
    ;
    6, do đó vẫn có rủi ro bảo mật bất cứ khi nào bạn sử dụng
    document.body.innerHTML = "";
    
    2 để đặt các chuỗi mà bạn không có quyền kiểm soát. Ví dụ:

    Vì lý do đó, nên thay vì document.body.innerHTML = ""; 2 bạn sử dụng:

    document.documentElement.innerHTML = `
    ${document.documentElement.innerHTML.replace(/</g,"<")}
    `
    ;
    7 để vệ sinh văn bản trước khi nó được chèn vào DOM.
    let name = "John";
    // assuming 'el' is an HTML DOM element
    el.innerHTML = name; // harmless in this case
    
    // …
    
    name = "";
    el.innerHTML = name; // harmless in this case
    
    2 Khi chèn văn bản đơn giản, vì điều này chèn nó dưới dạng văn bản thô thay vì phân tích cú pháp nó là HTML.
    # dom-innerhtml-innerhtml

    Ví dụ

    Ví dụ này sử dụng

    document.body.innerHTML = "";
    
    2 để tạo cơ chế để đăng nhập tin nhắn vào một hộp trên trang web.

    Hàm let name = "John"; // assuming 'el' is an HTML DOM element el.innerHTML = name; // harmless in this case // … name = ""; el.innerHTML = name; // harmless in this case 4 tạo ra đầu ra nhật ký bằng cách nhận thời gian hiện tại từ đối tượng let name = "John"; // assuming 'el' is an HTML DOM element el.innerHTML = name; // harmless in this case // … name = ""; el.innerHTML = name; // harmless in this case 5 bằng cách sử dụng let name = "John"; // assuming 'el' is an HTML DOM element el.innerHTML = name; // harmless in this case // … name = ""; el.innerHTML = name; // harmless in this case 6 và xây dựng một chuỗi với dấu thời gian và văn bản tin nhắn. Sau đó, thông báo được gắn vào hộp với lớp let name = "John"; // assuming 'el' is an HTML DOM element el.innerHTML = name; // harmless in this case // … name = ""; el.innerHTML = name; // harmless in this case 7.

    Tôi có thể sử dụng bên trong ở đâu?

    Sử dụng bên trong khi bạn đặt văn bản bên trong thẻ HTML như thẻ neo, thẻ đoạn văn, span, div hoặc textarea.Sử dụng appendChild () nếu bạn đang cố gắng thêm các phần tử DOM mới bên trong một phần tử DOM khác.when you're setting text inside of an HTML tag like an anchor tag, paragraph tag, span, div, or textarea. Use appendChild() If you're trying to add new DOM elements inside of another DOM element.

    Internhtml có thể chứa JavaScript không?

    Có thể thực thi JavaScript thông qua InsideHTML mà không cần sử dụng các thẻ như được minh họa trên trang bên trong của MDN.Để tự động thêm một thẻ tập lệnh, bạn cần tạo một phần tử tập lệnh mới và nối nó vào phần tử đích. as illustrated on MDN's innerHTML page. To dynamically add a script tag, you need to create a new script element and append it to the target element.

    Tôi nên sử dụng InnerHTML hay Internaltext?

    InnerText trả về tất cả các văn bản được chứa bởi một phần tử và tất cả các phần tử con của nó.innerhtml trả về tất cả các văn bản, bao gồm các thẻ HTML, được chứa bởi một phần tử. innerHtml returns all text, including html tags, that is contained by an element.

    Làm thế nào để bạn làm việc bên trong?

    Để đặt giá trị của thuộc tính bên trong, bạn sử dụng cú pháp này: Element.innerhtml = newhtml;Cài đặt sẽ thay thế nội dung hiện có của một phần tử bằng nội dung mới.element. innerHTML = newHTML; The setting will replace the existing content of an element with the new content.