Hướng dẫn jquery object htmldivelement to string - đối tượng jquery htmldivelement thành chuỗi

Tôi cho rằng bạn đang yêu cầu chuỗi HTML đầy đủ. Nếu đó là trường hợp, một cái gì đó như thế này sẽ thực hiện thủ thuật:

$('
').append($('#item-of-interest').clone()).html();

Điều này được giải thích về độ sâu hơn ở đây, nhưng về cơ bản bạn tạo một nút mới để bọc vật phẩm quan tâm, thực hiện các thao tác, loại bỏ nó và lấy HTML.

Nếu bạn chỉ sau một đại diện chuỗi, thì hãy đi với new String(obj).

Cập nhật

Tôi đã viết câu trả lời ban đầu vào năm 2009. Kể từ năm 2014, hầu hết các trình duyệt lớn hiện đang hỗ trợ outerHTML như một tài sản gốc (xem, ví dụ, Firefox và Internet & NBSP; Explorer), vì vậy bạn có thể làm:

$('#item-of-interest').prop('outerHTML');

Cập nhật lần cuối vào ngày 19 tháng 8 năm 2022 21:50:45 (UTC/GMT +8 giờ)

Bài tập thực tế JQuery Phần - I: Bài tập -27

Chuyển đổi một đối tượng jQuery thành một chuỗi.

Giải pháp mẫu:

Mã HTML :








Convert a jQuery object into a string.


Mã JavaScript:


var element = $('

',{ text : "jQuery", class : "test" }); $('#output').text( element.get(0).outerHTML);

Xem PEN JQuery-Practical-Escise-27 của W3Resource (@W3Resource) trên Codepen.

Đóng góp mã và nhận xét của bạn thông qua Disqus.

Trước đây: Tìm vị trí tuyệt đối của một phần tử bằng jQuery.next: Cách phát hiện nội dung của TextBox đã thay đổi bằng cách sử dụng jQuery? Find the absolute position of an element using jQuery.
Next: How to detect a textbox's content has changed using jQuery?

jQuery.parsehtml (data [, bối cảnh] [, keepscripts]) return: mảngReturns: Array

Mô tả: Phân tích một chuỗi vào một mảng các nút dom.Parses a string into an array of DOM nodes.

  • Phiên bản được thêm vào: 1.8JQuery.parsehtml (data [, bối cảnh] [, Keepscripts])jQuery.parseHTML( data [, context ] [, keepScripts ] )

    • dữ liệu

      Chuỗi HTML được phân tích cú pháp

    • Bối cảnh (mặc định: document) (default: document)

      Phần tử tài liệu để phục vụ như là bối cảnh trong đó đoạn HTML sẽ được tạo

    • Keepscripts (mặc định: false) (default: false)

      Một boolean cho biết có bao gồm các tập lệnh được truyền trong chuỗi HTML

jQuery.parseHTML sử dụng các phương thức gốc để chuyển đổi chuỗi thành một tập hợp các nút DOM, sau đó có thể được chèn vào tài liệu. Các phương pháp này làm cho tất cả các văn bản theo dõi hoặc hàng đầu (ngay cả khi đó chỉ là khoảng trắng). Để ngăn chặn khoảng trắng kéo dài/hàng đầu không được chuyển đổi thành các nút văn bản, bạn có thể chuyển chuỗi HTML qua

$('#item-of-interest').prop('outerHTML');
0.

Theo mặc định,

$('#item-of-interest').prop('outerHTML');
1 là document hiện tại nếu không được chỉ định hoặc được đưa ra là
$('#item-of-interest').prop('outerHTML');
3 hoặc
$('#item-of-interest').prop('outerHTML');
4. Nếu HTML được sử dụng trong một tài liệu khác như iframe, tài liệu của khung đó có thể được sử dụng.

Theo 3.0, hành vi mặc định được thay đổi. Nếu

$('#item-of-interest').prop('outerHTML');
1 không được chỉ định hoặc được đưa ra là
$('#item-of-interest').prop('outerHTML');
3 hoặc
$('#item-of-interest').prop('outerHTML');
4, một document mới được sử dụng. Điều này có khả năng cải thiện bảo mật vì các sự kiện nội tuyến sẽ không thực hiện khi HTML được phân tích cú pháp. Khi HTML được phân tích cú pháp được đưa vào một tài liệu, nó sẽ thực thi, nhưng điều này mang lại cho các công cụ cơ hội để vượt qua DOM đã tạo và loại bỏ bất cứ thứ gì được coi là không an toàn. Sự cải thiện này không áp dụng cho việc sử dụng nội bộ của jQuery.parseHTML vì chúng thường vượt qua trong document hiện tại. Do đó, một tuyên bố như







Convert a jQuery object into a string.


1 vẫn phải chịu sự tiêm của mã độc.

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

Hầu hết các API jQuery chấp nhận chuỗi HTML sẽ chạy các tập lệnh được bao gồm trong HTML. jQuery.parseHTML không chạy các tập lệnh trong HTML được phân tích cú pháp trừ khi








Convert a jQuery object into a string.


3 rõ ràng là







Convert a jQuery object into a string.


4. Tuy nhiên, trong hầu hết các môi trường vẫn có thể thực hiện các tập lệnh một cách gián tiếp, ví dụ thông qua thuộc tính







Convert a jQuery object into a string.


5. Người gọi nên nhận thức được điều này và bảo vệ chống lại nó bằng cách làm sạch hoặc thoát khỏi bất kỳ đầu vào không đáng tin cậy nào từ các nguồn như URL hoặc cookie. Đối với khả năng tương thích trong tương lai, người gọi không nên phụ thuộc vào khả năng chạy bất kỳ nội dung tập lệnh nào khi







Convert a jQuery object into a string.


3 không xác định hoặc false.

Example:

Tạo một mảng các nút DOM bằng chuỗi HTML và chèn nó vào DIV.

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

<title>jQuery.parseHTML demotitle>

<script src="https://code.jquery.com/jquery-3.5.0.js">script>

str = "hello, my name is jQuery.",

html = $.parseHTML( str ),

// Append the parsed HTML

// Gather the parsed HTML's node names

$.each( html, function( i, el ) {

nodeNames[ i ] = "

  • " + el.nodeName + "
  • ";

    $log.append( "

    Node Names:

    " );

    .append( nodeNames.join( "" ) )

    Demo:

    Làm thế nào để chuyển đổi đối tượng jQuery thành chuỗi?

    Sử dụng phương thức json.Stringify () để chuyển đổi đối tượng thành chuỗi và hiển thị nội dung chuỗi. stringify() method to convert the object into strings and display the string contents.

    Parsehtml làm gì?

    Parsehtml sử dụng các phương thức gốc để chuyển đổi chuỗi thành một tập hợp các nút dom, sau đó có thể được chèn vào tài liệu.Các phương pháp này làm cho tất cả các văn bản theo dõi hoặc hàng đầu (ngay cả khi đó chỉ là khoảng trắng).uses native methods to convert the string to a set of DOM nodes, which can then be inserted into the document. These methods do render all trailing or leading text (even if that's just whitespace).

    Làm thế nào để bạn biến một đối tượng thành một chuỗi trong JavaScript?

    Chuỗi một đối tượng JavaScript Sử dụng hàm JavaScript json.Stringify () để chuyển đổi nó thành một chuỗi.const myjson = json.Stringify (obj);Kết quả sẽ là một chuỗi theo ký hiệu JSON.Use the JavaScript function JSON.stringify() to convert it into a string. const myJSON = JSON.stringify(obj); The result will be a string following the JSON notation.

    Làm cách nào để nhận được văn bản từ HTML trong jQuery?

    Bạn có thể sử dụng $ ('. GetText'). Text ();Trong jQuery.$('. gettext'). text(); in jQuery.