Sự thay thế của innerhtml trong javascript là gì?

Thuộc tính innerHTML được sử dụng để viết nội dung HTML động trên tài liệu HTML. Khi bạn cần thay thế nội dung động bên trongHTML, bạn có thể sử dụng hàm jQuery html[] và cung cấp nội dung mới

Thí dụ

Phương thức jQuery html[] đặt hoặc trả về nội dung InternalHTML của các phần tử được chọn. Khi phương pháp này được sử dụng để thiết lập nội dung, nó sẽ ghi đè lên nội dung của TẤT CẢ các phần tử phù hợp

Tự mình thử

Nguồn đầy đủ. jQuery

văn bản jQuery[]

Bạn có thể sử dụng hàm jQuery text[] để đạt được điều tương tự. Tuy nhiên, hàm text[] sẽ thay đổi giá trị [text] của phần tử được chỉ định nhưng vẫn giữ nguyên cấu trúc html

Thí dụ

Sự khác nhau giữa phương thức text[] và html[] trong jQuery

jquery. html[] coi chuỗi là HTML, jQuery. text[] coi nội dung là văn bản. Các. phương thức html[] không khả dụng trong tài liệu XML. không giống như. phương thức html[], jQuery. text[] có thể được sử dụng trong cả tài liệu XML và HTML. Cũng thế,. html[] nhanh hơn gấp 2 lần so với. chữ[]

Thay đổi nội dung InternalHTML bằng JavaScript

Bạn có thể sử dụng JavaScript thuần túy để thay thế InternalHTML của div

Nhận nội dung InternalHTML bằng cách sử dụng html[]

Khi jQuery. Phương thức html[] được sử dụng để trả về nội dung, nó trả về nội dung của phần tử được khớp ĐẦU TIÊN

Xin chào, tôi đang cố gắng tạo một chương trình dịch đơn giản bằng Javascript để thay thế một số từ nhất định từ tiếng Pháp sang tiếng Anh/tiếng Anh sang tiếng Pháp khi nhấn nút. Tôi đang sử dụng innerHTML. replace để làm điều này, và nó hoạt động tốt

document.body.innerHTML = document.body.innerHTML.replace[/Bonjour/g, "Hello"];

 

Tuy nhiên, trong trang Chi tiết sản phẩm, nút Thêm vào giỏ hàng ngừng hoạt động sau khi chạy mã. Cùng một mã chạy khi tải trang và không sao cả. Nó không ảnh hưởng đến nút Thêm vào giỏ hàng.  

window.addEventListener['DOMContentLoaded', function[] {
	document.body.innerHTML = document.body.innerHTML.replace[/Bonjour/g, "Hello"];
}]

 

Sự cố này chỉ xảy ra khi mã được gọi từ một nút

 

Có ai giúp tôi không?

 

 

Liên kết để bình luận

colin. irwin

Đăng ngày 15 tháng 10 năm 2019

colin. irwin

  • Thành Viên Vòng Tròn
    • 3. 5k
    • 562

    • Đăng lại

Đăng ngày 15 tháng 10 năm 2019

Hãy thử sử dụng như sau

window.Squarespace.onInitialize[Y, function[]{
	document.body.innerHTML = document.body.innerHTML.replace[/Bonjour/g, "Hello"];
}];

 

Nếu bạn đang tìm Nhà phát triển Squarespace, hãy gửi cho tôi một dòng.

Liên kết để bình luận

nekonote404

Đăng ngày 16 tháng 10 năm 2019

nekonote404

  • Thành viên
    • 4

  • Tác giả

    • Đăng lại

Đăng ngày 16 tháng 10 năm 2019

Cảm ơn @colin. irwin

Mã của bạn cũng hoạt động để thực thi mã khi tải trang. Tuy nhiên, vấn đề mà tôi gặp phải là khi nó được gọi bằng cách nhấn một nút. Tôi không biết tại sao, nhưng nó sẽ vô hiệu hóa nút Thêm vào giỏ hàng.  

Chúng tôi có được phép thay đổi mẫu bằng Javascript không?


	 en


------------

function switchLang [] {
	document.body.innerHTML = document.body.innerHTML.replace[/Bonjour/g, "Hello"];
}

 

Liên kết để bình luận

colin. irwin

Đăng ngày 16 tháng 10 năm 2019

colin. irwin

  • Thành Viên Vòng Tròn
    • 3. 5k
    • 562

    • Đăng lại

Đăng ngày 16 tháng 10 năm 2019

Bạn có thể cung cấp một liên kết đến trang web của bạn?

Nếu bạn đang tìm Nhà phát triển Squarespace, hãy gửi cho tôi một dòng.

Liên kết để bình luận

thương hiệu

Đăng ngày 16 tháng 10 năm 2019

thương hiệu

  • Thành Viên Vòng Tròn
    • 2. 2k
    • 372

    • Đăng lại

Đăng ngày 16 tháng 10 năm 2019

Xin chào @equites

Khi bạn đặt tài liệu. thân hình. innerHTML bằng một thứ khác [thậm chí chỉ hơi khác một chút], bạn đang thay thế toàn bộ nội dung của phần tử nội dung một cách hiệu quả, không chỉ văn bản bạn đang tìm cách thay thế thông qua < . phương thức thay thế[] .replace[] . Nói cách khác, đó là một hành động phá hoại, phá hủy toàn bộ tài liệu và thay thế nó bằng một bản sao [được sửa đổi một chút, trong trường hợp của bạn] của nó.

Vấn đề. các phần tử bạn đang thay thế [mọi phần tử đơn lẻ trong phần thân] có thể đã có trình xử lý sự kiện và chức năng khác được "đính kèm" với chúng. "Bản sao" thay thế thực sự là bản sao, nhưng cũng là những thực thể hoàn toàn khác với bản gốc. Họ không có những hành động "đính kèm" như các yếu tố ban đầu đã làm

Do đó, bất kỳ phần tử nào đã được thêm chức năng vào nó trước khi mã của bạn chạy sẽ ngừng hoạt động, vì phần tử đó được thay thế bằng một bản sao không có chức năng đó

Đối với các phần tử được thêm chức năng sau khi mã của bạn chạy, ban đầu chúng sẽ hoạt động nhưng sau đó sẽ không hoạt động nếu mã của bạn chạy lại [nếu lặp lại bản dịch sang ngôn ngữ khác. ] Nút Thêm vào giỏ hàng là một ví dụ. Tôi sẽ ngạc nhiên nếu không có nhiều người khác. Điều này có thể được gọi là "điều kiện chủng tộc" và những điều kiện như vậy thường gây ra nhiều hành vi khó hiểu

Dung dịch. Bạn sẽ cần thực hiện một cách tiếp cận khác. xác định và nhắm mục tiêu các thành phần trên trang cần thay thế văn bản của chúng. Khi nhắm mục tiêu, đảm bảo bạn đang nhắm mục tiêu phần tử bên trong nhất có chứa nút văn bản. Mặc dù không phải lúc nào cũng cần thiết nhưng điều đó sẽ đảm bảo bạn không phá hủy chức năng hiện có trong DOM. Đối với mỗi phần tử, thay thế nút bên trongHTML/nút văn bản của nó, mỗi phần tử trên cơ sở riêng lẻ. Điều này sẽ giữ nguyên các phần tử, chỉ ảnh hưởng đến văn bản bên trong

Nếu phản hồi giúp ích cho bạn, hãy gửi 'Thích' 👍 [dưới cùng bên phải] và/hoặc 'Upvote'

[top-left]

Liên kết để bình luận

nekonote404

Đăng ngày 16 tháng 10 năm 2019

nekonote404

  • Thành viên
    • 4

  • Tác giả

    • Đăng lại

Đăng ngày 16 tháng 10 năm 2019

Đây là một trang web mới và nó chưa sẵn sàng cho công chúng, nhưng đây là

https. //vải-chiton-g4er. không gian vuông. com/rings/bague-nhánh-lớn

 

Vì vậy, ngôn ngữ gốc của trang web là tiếng Pháp và mã của tôi có thể chuyển đổi một số từ và cụm từ nhất định sang tiếng Anh

Khi tôi tạm thời đặt tiếng Anh làm ngôn ngữ mặc định, mã của tôi sẽ chạy khi tải trang và nó sẽ tự động dịch trang sang tiếng Anh. Lúc này, nút đặt hàng vẫn hoạt động

Tuy nhiên, nếu tôi nhấp vào liên kết "fr" ở đầu trang, nó sẽ dịch lại trang sang tiếng Pháp nhưng nút đặt hàng không còn hoạt động. Mã tương tự được chạy khi tải trang và không có vấn đề gì. tôi không thể nói sự khác biệt

Thuộc tính nào thay thế InternalHTML?

Thuộc tính innerHTML được sử dụng để viết nội dung HTML động trên tài liệu HTML. Khi cần thay thế nội dung động InternalHTML, bạn có thể sử dụng hàm jQuery html[] và cung cấp nội dung mới.

InternalHTML trong JavaScript là gì?

InternalHTML là thuộc tính của mọi phần tử. Nó cho bạn biết giữa thẻ bắt đầu và thẻ kết thúc của phần tử là gì và nó cũng cho phép bạn đặt nội dung của phần tử. thuộc tính mô tả một khía cạnh của một đối tượng. Nó là thứ mà một đối tượng có trái ngược với thứ mà đối tượng làm

Tôi có thể sử dụng cái gì thay cho InternalText?

innerText đã được thêm vào các tiêu chuẩn và được hỗ trợ bởi tất cả các trình duyệt chính. textContent hiện được hỗ trợ bởi IE>=9 và có thể được sử dụng thay cho InternalText trong hầu hết các trường hợp [tặng thêm, nó nhanh hơn nhiều], nhưng vẫn có những điểm khác biệt .

Tại sao bạn không nên sử dụng InternalHTML trong JavaScript?

Có thể ngắt tài liệu . InternalHTML không cung cấp xác thực thích hợp, vì vậy bất kỳ mã HTML hợp lệ nào cũng có thể được sử dụng. Điều này có thể phá vỡ tài liệu của JavaScript. Ngay cả HTML bị hỏng cũng có thể được sử dụng, điều này có thể dẫn đến các sự cố không mong muốn.

Chủ Đề