Hướng dẫn jquery get full html of element - jquery lấy toàn bộ html của phần tử

Tôi muốn có được toàn bộ HTML của một phần tử đã chọn không chỉ là nội dung. . HTML:

<div id="divs">
  <div id="div1">
    <p>Some Content</p>
  </div>
  <div id="div2">
    <p>Some Content</p>
  </div>
</div>

Sử dụng

var html = $("<div />").append($("#div1").clone()).html();
0 sẽ chỉ trả về phần tử đoạn văn. Tôi muốn có được HTML cho toàn bộ phần tử, như vậy:

  <div id="div1">
    <p>Some Content</p>
  </div>

Tôi không thể sử dụng .Parent vì điều này sẽ trả lại HTML của cả hai div con.

Hướng dẫn jquery get full html of element - jquery lấy toàn bộ html của phần tử

Flimzy

70,9K15 Huy hiệu vàng133 Huy hiệu bạc172 Huy hiệu đồng15 gold badges133 silver badges172 bronze badges

Đã hỏi ngày 1 tháng 9 năm 2010 lúc 0:27Sep 1, 2010 at 0:27

0

Bạn có thể sao chép nó để có được toàn bộ nội dung, như thế này:

var html = $("<div />").append($("#div1").clone()).html();

Hoặc biến nó thành một plugin, hầu hết có xu hướng gọi đây là "outerhtml", như thế này:

jQuery.fn.outerHTML = function() {
  return jQuery('<div />').append(this.eq(0).clone()).html();
};

Sau đó, bạn chỉ có thể gọi:

var html = $("#div1").outerHTML();

Đã trả lời ngày 1 tháng 9 năm 2010 lúc 0:28Sep 1, 2010 at 0:28

Hướng dẫn jquery get full html of element - jquery lấy toàn bộ html của phần tử

Nick Cravernick CraverNick Craver

616K134 Huy hiệu vàng1293 Huy hiệu bạc1152 Huy hiệu đồng134 gold badges1293 silver badges1152 bronze badges

2

Sự khác biệt có thể không có ý nghĩa trong trường hợp sử dụng điển hình, nhưng sử dụng chức năng DOM tiêu chuẩn

$("#el")[0].outerHTML

nhanh gấp đôi so với

$("<div />").append($("#el").clone()).html();

Vì vậy, tôi sẽ đi với:

/* 
 * Return outerHTML for the first element in a jQuery object,
 * or an empty string if the jQuery object is empty;  
 */
jQuery.fn.outerHTML = function() {
   return (this[0]) ? this[0].outerHTML : '';  
};

Hướng dẫn jquery get full html of element - jquery lấy toàn bộ html của phần tử

zb226

9.0476 Huy hiệu vàng47 Huy hiệu bạc77 Huy hiệu đồng6 gold badges47 silver badges77 bronze badges

Đã trả lời ngày 8 tháng 8 năm 2013 lúc 1:29Aug 8, 2013 at 1:29

Pasi Jokinenpasi JokinenPasi Jokinen

1.6551 Huy hiệu vàng10 Huy hiệu bạc8 Huy hiệu đồng1 gold badge10 silver badges8 bronze badges

3

Bạn có thể đạt được điều đó chỉ bằng một mã dòng đơn giản hóa điều đó:

var html = $("<div />").append($("#div1").clone()).html();
1

Đơn giản vậy thôi.

Hướng dẫn jquery get full html of element - jquery lấy toàn bộ html của phần tử

Juan Antonio

2.2003 huy hiệu vàng23 Huy hiệu bạc33 Huy hiệu đồng3 gold badges23 silver badges33 bronze badges

Đã trả lời ngày 26 tháng 2 năm 2017 lúc 13:59Feb 26, 2017 at 13:59

1

Bạn có thể dễ dàng có được chính con và tất cả những người quá cố (trẻ em) của nó bằng phương pháp nhân bản của jQuery (), chỉ

var child = $('#div div:nth-child(1)').clone();  

var child2 = $('#div div:nth-child(2)').clone();

Bạn sẽ nhận được điều này cho truy vấn đầu tiên như được hỏi trong câu hỏi

<div id="div1">
     <p>Some Content</p>
</div>

Đã trả lời ngày 4 tháng 3 năm 2014 lúc 13:47Mar 4, 2014 at 13:47

Hướng dẫn jquery get full html of element - jquery lấy toàn bộ html của phần tử

Không khíAiry

5.1186 Huy hiệu vàng48 Huy hiệu bạc73 Huy hiệu Đồng6 gold badges48 silver badges73 bronze badges

Nhận nội dung HTML của phần tử đầu tiên trong tập hợp các phần tử phù hợp hoặc đặt nội dung HTML của mọi phần tử phù hợp.

Contents:

  • .html ()
    • .html()
  • .html (htmlString)
    • .html (htmlString)
    • .html (chức năng)

.html () trả về: chuỗiReturns: String

Mô tả: Nhận nội dung HTML của phần tử đầu tiên trong tập hợp các phần tử phù hợp.Get the HTML contents of the first element in the set of matched elements.

  • Phiên bản được thêm vào: 1.0.html ().html()

    • Phương pháp này không chấp nhận bất kỳ đối số.

Phương pháp này không có sẵn trên các tài liệu XML.

Trong một tài liệu HTML,

var html = $("<div />").append($("#div1").clone()).html();
2 có thể được sử dụng để có được nội dung của bất kỳ phần tử nào. Nếu biểu thức chọn phù hợp với nhiều phần tử, chỉ có trận đấu đầu tiên sẽ có nội dung HTML được trả về. Xem xét mã này:

1

  <div id="div1">
    <p>Some Content</p>
  </div>
0

Để được truy xuất nội dung của ____ 23 sau đây, nó sẽ phải là công cụ đầu tiên có

var html = $("<div />").append($("#div1").clone()).html();
4 trong tài liệu:

1

2

3

  <div id="div1">
    <p>Some Content</p>
  </div>
1

Nội dung của

jQuery.fn.outerHTML = function() {
  return jQuery('<div />').append(this.eq(0).clone()).html();
};
0 có thể được đặt như thế này:

1

  <div id="div1">
    <p>Some Content</p>
  </div>
5

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

jQuery.fn.outerHTML = function() {
  return jQuery('<div />').append(this.eq(0).clone()).html();
};
0:

Ghi chú bổ sung:

  • Theo thiết kế, bất kỳ hàm tạo hoặc phương thức nào chấp nhận chuỗi HTML - jQuery (), .Append (), .After (), v.v. - có khả năng thực thi mã. Điều này có thể xảy ra bằng cách tiêm thẻ tập lệnh hoặc sử dụng các thuộc tính HTML thực thi mã (ví dụ:
    var html = $("<div />").append($("#div1").clone()).html();
    
    6). 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 tin cậy như tham số truy vấn URL, cookie hoặc đầu vào hình thức. Làm như vậy có thể giới thiệu các lỗ hổng về chữ ký chéo (XSS). Xóa hoặc thoát bất kỳ đầu vào người dùng trước khi thêm nội dung vào tài liệu.

Example:

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

  <div id="div1">
    <p>Some Content</p>
  </div>
3

Demo:

.html (htmlString) trả về: jQueryReturns: jQuery

Mô tả: Đặt nội dung HTML của mỗi phần tử trong tập hợp các phần tử phù hợp.Set the HTML contents of each element in the set of matched elements.

  • Phiên bản được thêm vào: 1.0.html (HTMLString).html( htmlString )

    • HTMLSTRING

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

  • Phiên bản được thêm vào: 1.4.html (chức năng).html( function )

    • function

      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; Sử dụng đối số OldHTML để tham khảo nội dung trước đó. Trong hàm,

      var html = $("<div />").append($("#div1").clone()).html();
      
      7 đề cập đến phần tử hiện tại trong tập hợp.

Phương pháp

var html = $("<div />").append($("#div1").clone()).html();
2 không có sẵn trong các tài liệu XML.

Khi

var html = $("<div />").append($("#div1").clone()).html();
2 được sử dụng để đặt nội dung của phần tử, bất kỳ nội dung nào trong phần tử đó đều đượ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ư dữ liệu và trình xử lý sự kiện khỏi các phần tử con trước khi thay thế các yếu tố đó bằng nội dung mới.

Hãy xem xét HTML sau:

1

2

3

  <div id="div1">
    <p>Some Content</p>
  </div>
1

Nội dung của

jQuery.fn.outerHTML = function() {
  return jQuery('<div />').append(this.eq(0).clone()).html();
};
0 có thể được đặt như thế này:

1

2

  <div id="div1">
    <p>Some Content</p>
  </div>
5

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

jQuery.fn.outerHTML = function() {
  return jQuery('<div />').append(this.eq(0).clone()).html();
};
0:

1

2

3

  <div id="div1">
    <p>Some Content</p>
  </div>
6

Kể từ JQuery 1.4, phương pháp

var html = $("<div />").append($("#div1").clone()).html();
2 cho phép nội dung HTML được đặt bằng cách truyền trong một hàm.

1

2

3

4

  <div id="div1">
    <p>Some Content</p>
  </div>
7

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

jQuery.fn.outerHTML = function() {
  return jQuery('<div />').append(this.eq(0).clone()).html();
};
0 thành
jQuery.fn.outerHTML = function() {
  return jQuery('<div />').append(this.eq(0).clone()).html();
};
4.

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

var html = $("<div />").append($("#div1").clone()).html();
5 của trình duyệt. Một số trình duyệt có thể không tạo ra một 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
jQuery.fn.outerHTML = function() {
  return jQuery('<div />').append(this.eq(0).clone()).html();
};
6 trên các liên kết đến 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 mà không cần thêm một lớp tương thích riêng.

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

jQuery.fn.outerHTML = function() {
  return jQuery('<div />').append(this.eq(0).clone()).html();
};
7, không chứa HTML, hãy sử dụng phương thức
jQuery.fn.outerHTML = function() {
  return jQuery('<div />').append(this.eq(0).clone()).html();
};
8 chứ không phải
var html = $("<div />").append($("#div1").clone()).html();
2.

Lưu ý: Trong Internet Explorer lên đến và bao gồm phiên bản 9, việc đặt nội dung văn bản của phần tử HTML có thể làm hỏng các nút văn bản của trẻ em đang bị xóa khỏi tài liệu do kết quả của hoạt động. Nếu bạn đang giữ các tham chiếu đến các phần tử DOM này và cần không thay đổi, hãy sử dụng

var html = $("#div1").outerHTML();
0 thay vì
var html = $("#div1").outerHTML();
1 để 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ử.
In Internet Explorer up to and including version 9, setting the text content of an HTML element may corrupt the text nodes of its children that are being removed from the document as a result of the operation. If you are keeping references to these DOM elements and need them to be unchanged, use
var html = $("#div1").outerHTML();
0 instead of
var html = $("#div1").outerHTML();
1 so that the elements are removed from the document before the new string is assigned to the element.

Examples:

Thêm một số HTML vào mỗi 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

  <div id="div1">
    <p>Some Content</p>
  </div>
8

Demo:

Thêm một số HTML vào mỗi Div sau đó ngay lập tức thực hiện các thao tác tiếp theo vào HTML được chè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

  <div id="div1">
    <p>Some Content</p>
  </div>
9

Demo:

Làm thế nào để bạn nhận được HTML của một nút bằng cách sử dụng jQuery?

Để có được nội dung HTML của một phần tử bằng jQuery, hãy sử dụng phương thức html ().Phương thức HTML () có nội dung HTML của phần tử được khớp đầu tiên.use the html() method. The html() method gets the html contents of the first matched element.

Những gì được nhận () trong jQuery?

JQuery get () Phương thức $.Nhận () Phương thức tải dữ liệu từ máy chủ bằng HTTP GET yêu cầu.loads data from the server using a HTTP GET request.

Innerhtml trong jQuery là gì?

Định nghĩa và sử dụng Phương thức HTML () đặt hoặc trả về nội dung (bên trong) của các phần tử đã chọn.Khi phương thức này được sử dụng để trả về nội dung, nó sẽ trả về nội dung của phần tử được khớp đầu tiên.Khi phương thức này được sử dụng để đặt nội dung, nó ghi đè nội dung của tất cả các yếu tố phù hợp.The html() method sets or returns the content (innerHTML) of the selected elements. When this method is used to return content, it returns the content of the FIRST matched element. When this method is used to set content, it overwrites the content of ALL matched elements.

Làm cách nào để lấy dữ liệu từ Internhtml?

Làm thế nào nó hoạt động.Đầu tiên, hãy lấy phần tử với menu ID bằng phương thức getEuityById ().Thứ hai, tạo một phần tử mới và thêm nó vào phần tử bằng các phương thức createdEuity () và appendChild ().Thứ ba, lấy HTML của phần tử bằng thuộc tính bên trong của phần tử.get the
    element with the id menu using the getElementById() method. Second, create a new
  • element and add it to the
      element using the createElement() and appendChild() methods. Third, get the HTML of the
        element using the innerHTML property of the
          element.