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
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'
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