Nhận văn bản từ chuỗi HTML JavaScript

Trong tài liệu HTML,

<div class="demo-container">

<div class="demo-box">Demonstration Box</div>

</div>

0 có thể được sử dụng để 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

1

$( "div.demo-container" ).html();

Để lấy được nội dung của

<div class="demo-container">

<div class="demo-box">Demonstration Box</div>

</div>

1 sau, nó phải là nội dung đầu tiên có

<div class="demo-container">

<div class="demo-box">Demonstration Box</div>

</div>

2 trong tài liệu

1

2

3

<div class="demo-container">

<div class="demo-box">Demonstration Box</div>

</div>

Kết quả sẽ như thế này

1

<div class="demo-box">Demonstration Box</div>

Phương pháp này sử dụng thuộc tính

<div class="demo-container">

<div class="demo-box">Demonstration Box</div>

</div>

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ố

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ụ:

    <div class="demo-container">

    <div class="demo-box">Demonstration Box</div>

    </div>

    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ệu

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ề. jQuery

Sự mô 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

  • đã thêm phiên bản. 1. 0 . html( htmlString )

    • htmlChuỗi

      Loại hình. htmlChuỗi

      Một chuỗi HTML để đặt làm nội dung của từng phần tử phù hợp

  • đã thêm phiên bản. 1. 4 . html( hàm )

    • hàm số

      Loại hình. Hàm (Chỉ mục số nguyên, htmlString oldhtml) => htmlString

      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,

      <div class="demo-container">

      <div class="demo-box">Demonstration Box</div>

      </div>

      5 đề cập đến phần tử hiện tại trong tập hợp

Phương thức

<div class="demo-container">

<div class="demo-box">Demonstration Box</div>

</div>

0 không có trong tài liệu XML

Khi

<div class="demo-container">

<div class="demo-box">Demonstration Box</div>

</div>

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

Hãy xem xét HTML sau

1

2

3

<div class="demo-container">

<div class="demo-box">Demonstration Box</div>

</div>

Nội dung của

<div class="demo-container">

<div class="demo-box">Demonstration Box</div>

</div>

8 có thể được thiết lập như thế này

1

2

$( "div.demo-container" ).html();

4

Dòng mã đó sẽ thay thế mọi thứ bên trong

<div class="demo-container">

<div class="demo-box">Demonstration Box</div>

</div>

8

1

2

3

$( "div.demo-container" ).html();

6

Kể từ jQuery 1. 4, phương thức

<div class="demo-container">

<div class="demo-box">Demonstration Box</div>

</div>

0 cho phép thiết lập nội dung HTML bằng cách truyền vào một hàm

1

2

3

4

$( "div.demo-container" ).html();

8

Đưa ra một tài liệu có sáu đoạn văn, ví dụ này sẽ đặt HTML của

<div class="demo-container">

<div class="demo-box">Demonstration Box</div>

</div>

8 thành

<div class="demo-box">Demonstration Box</div>

2

Phương pháp này sử dụng thuộc tính

<div class="demo-container">

<div class="demo-box">Demonstration Box</div>

</div>

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ả thuộc tính

<div class="demo-box">Demonstration Box</div>

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

Để đặt nội dung của phần tử

<div class="demo-box">Demonstration Box</div>

5, không chứa HTML, hãy sử dụng phương thức

<div class="demo-box">Demonstration Box</div>

6 chứ không phải

<div class="demo-container">

<div class="demo-box">Demonstration Box</div>

</div>

0

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

<div class="demo-box">Demonstration Box</div>

8 thay vì

<div class="demo-box">Demonstration Box</div>

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ử

Làm cách nào để lấy văn bản từ văn bản HTML trong JavaScript?

Bạn có thể sử dụng cái này. var phần tử = tài liệu. getElementById('txt'); . văn bản bên trong. yếu tố.

Làm cách nào để chuyển đổi văn bản HTML thành văn bản bình thường trong JavaScript?

Hãy đi sâu vào và xem nó hoạt động như thế nào. .
1) Using . replace(/<[^>]*>/g, '') .. .
2) Tạo phần tử DOM tạm thời và truy xuất văn bản. Đây là cách hiệu quả nhất để thực hiện nhiệm vụ. .
3) gói npm chuyển html thành văn bản. Đây là gói tôi phát hiện ra gần đây

Làm cách nào để lấy thẻ HTML từ chuỗi trong JavaScript?

Sử dụng JavaScript để lấy các phần tử HTML từ một chuỗi .
để trình phân tích cú pháp = DOMParser mới(); . parseFromString(văn bản, 'văn bản/html'); . .
[. liên kết]. .
.
const bản gốc = tài liệu. .
để trình phân tích cú pháp = DOMParser mới();

Làm cách nào để chuyển đổi nội dung HTML thành văn bản thuần túy trong JavaScript?

Cách dễ nhất là xóa tất cả các thẻ HTML bằng cách sử dụng phương thức replace() của JavaScript . Nó tìm thấy tất cả các thẻ được đặt trong dấu ngoặc nhọn và thay thế chúng bằng khoảng trắng. văn bản var = html.