Trong tài liệu HTML, có thể sử dụng
0 để lấy nội dung của bất kỳ phần tử nào. Nếu biểu thức bộ chọn khớp với nhiều phần tử, thì chỉ phần tử khớp đầu tiên sẽ được trả về nội dung HTML của nó. Hãy xem xét mã này
Demonstration Box
1
$[ "div.demo-container" ].html[];
Để lấy được nội dung của
1 sau, nó phải là nội dung đầu tiên có
Demonstration Box
2 trong tài liệu
Demonstration Box
1
2
3
Demonstration Box
Kết quả sẽ như thế này
1
Demonstration Box
Phương pháp này sử dụng thuộc tính
3 của trình duyệt. Một số trình duyệt có thể không trả về HTML sao chép chính xác nguồn HTML trong tài liệu gốc. Ví dụ: đôi khi Internet Explorer bỏ dấu ngoặc kép xung quanh các giá trị thuộc tính nếu chúng chỉ chứa các ký tự chữ và số
Demonstration Box
Ghi chú bổ sung
- Theo thiết kế, bất kỳ hàm tạo hoặc phương thức jQuery nào chấp nhận chuỗi HTML — jQuery[],. nối thêm[],. sau [], v.v. - có khả năng có thể thực thi mã. Điều này có thể xảy ra bằng cách chèn các thẻ tập lệnh hoặc sử dụng các thuộc tính HTML thực thi mã [ví dụ:
4]. Không sử dụng các phương pháp này để chèn các chuỗi thu được từ các nguồn không đáng tin cậy, chẳng hạn như tham số truy vấn URL, cookie hoặc đầu vào biểu mẫu. Làm như vậy có thể dẫn đến lỗ hổng cross-site-scripting [XSS]. Xóa hoặc thoát bất kỳ đầu vào nào của người dùng trước khi thêm nội dung vào tài liệuDemonstration Box
Thí dụ
Nhấp vào một đoạn văn để chuyển đổi nó từ html sang văn bản
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
________số 8_______Thử nghiệm
.html[ htmlString ]Trả về.
Sự miêu tả. Đặt nội dung HTML của từng phần tử trong tập hợp các phần tử phù hợp
phiên bản thêm. 1. 0
htmlChuỗi
Loại.
Một chuỗi HTML để đặt làm nội dung của từng phần tử phù hợp
phiên bản thêm. 1. 4
hàm số
Loại. [ chỉ mục, oldhtml ] =>
Một hàm trả về nội dung HTML để đặt. Nhận vị trí chỉ mục của phần tử trong tập hợp và giá trị HTML cũ làm đối số. jQuery làm trống phần tử trước khi gọi hàm; . Trong hàm,
5 đề cập đến phần tử hiện tại trong tập hợpDemonstration Box
Phương thức
0 không có trong tài liệu XML
Demonstration Box
Khi
0 được sử dụng để đặt nội dung của phần tử, mọi nội dung trong phần tử đó sẽ được thay thế hoàn toàn bằng nội dung mới. Ngoài ra, jQuery loại bỏ các cấu trúc khác như trình xử lý dữ liệu và sự kiện khỏi các phần tử con trước khi thay thế các phần tử đó bằng nội dung mới
Demonstration Box
Hãy xem xét HTML sau
1
2
3
Demonstration Box
Nội dung của
8 có thể được thiết lập như thế này
Demonstration Box
1
2
$[ "div.demo-container" ]
.html[ "
All new content. You bet!
" ];
Dòng mã đó sẽ thay thế mọi thứ bên trong
8
Demonstration Box
1
2
3
All new content. You bet!
Kể từ jQuery 1. 4, phương thức
0 cho phép thiết lập nội dung HTML bằng cách truyền vào một hàm
Demonstration Box
1
2
3
4
$[ "div.demo-container" ].html[function[] {
var emphasis = "" + $[ "p" ].length + " paragraphs!";
";
return "
All new content for "
+ emphasis + "
}];
Đưa ra một tài liệu có sáu đoạn văn, ví dụ này sẽ đặt HTML của
8 thành
Demonstration Box
2
Demonstration Box
Phương pháp này sử dụng thuộc tính
3 của trình duyệt. Một số trình duyệt có thể không tạo DOM sao chép chính xác nguồn HTML được cung cấp. Ví dụ: Internet Explorer trước phiên bản 8 sẽ chuyển đổi tất cả các thuộc tính
Demonstration Box
4 trên các liên kết thành URL tuyệt đối và Internet Explorer trước phiên bản 9 sẽ không xử lý chính xác các phần tử HTML5 nếu không bổ sung lớp tương thích riêng
Demonstration Box
Để đặt nội dung của phần tử
5, không chứa HTML, hãy sử dụng phương thức
Demonstration Box
6 chứ không phải
Demonstration Box
0
Demonstration Box
Ghi chú. Trong Internet Explorer cho đến và bao gồm cả phiên bản 9, việc đặt nội dung văn bản của một phần tử HTML có thể làm hỏng các nút văn bản của phần tử con của nó đang bị xóa khỏi tài liệu do thao tác. Nếu bạn đang giữ các tham chiếu đến các phần tử DOM này và cần chúng không thay đổi, hãy sử dụng
8 thay vì
Demonstration Box
9 để các phần tử được xóa khỏi tài liệu trước khi chuỗi mới được gán cho phần tử đó
Demonstration Box