Hướng dẫn find element from html string jquery - tìm phần tử từ chuỗi html jquery

Tôi đang tìm cách để có được một phần tử HTML từ một chuỗi chứa HTML. Có thể sử dụng bộ chọn jQuery để làm điều này?

Tôi có một chức năng JavaScript có toàn bộ trang từ máy chủ, nhưng tôi chỉ cần một yếu tố từ trang đó.

Hướng dẫn find element from html string jquery - tìm phần tử từ chuỗi html jquery

Hỏi ngày 20 tháng 9 năm 2010 lúc 17:59Sep 20, 2010 at 17:59

2

Có, bạn có thể biến chuỗi thành các phần tử và chọn các phần tử từ nó. Thí dụ:

var elements = $(theHtmlString);
var found = $('.FindMe', elements);

Đã trả lời ngày 20 tháng 9 năm 2010 lúc 18:04Sep 20, 2010 at 18:04

GuffaguffaGuffa

676K108 Huy hiệu vàng723 Huy hiệu bạc998 Huy hiệu Đồng108 gold badges723 silver badges998 bronze badges

9

Chỉ cần bọc văn bản HTML trong hàm $. Giống

$("
I want this element
")

Đã trả lời ngày 20 tháng 9 năm 2010 lúc 18:02Sep 20, 2010 at 18:02

KingerroneouskingerroneousKingErroneous

9911 Huy hiệu vàng8 Huy hiệu bạc16 Huy hiệu đồng1 gold badge8 silver badges16 bronze badges

2

Nếu bạn đang tải một trang một cách linh hoạt từ máy chủ thì bạn có thể nhắm mục tiêu chỉ một phần tử từ trang được tải bằng biểu mẫu sau với

$("
I want this element
")
6
$("
I want this element
")
6

$(selectorWhereToShowNewData).load('pagePath selectorForElementFromNewData');

Ví dụ:

$('#result').load('ajax/test.html #container');

Trong đó:

$("
I want this element
")
7 là nơi phần trang được tải sẽ được hiển thị trên trang hiện tại
$("
I want this element
")
8 là URL mà yêu cầu máy chủ được gửi
$("
I want this element
")
9 là phần tử trên trang phản hồi bạn muốn hiển thị. Chỉ có điều đó sẽ được tải vào phần tử
$("
I want this element
")
7. Phần còn lại của trang phản hồi sẽ không được hiển thị.
$("
I want this element
")
7 is where the loaded page part will be displayed on the current page
$("
I want this element
")
8 is the URL to which the server request is sent
$("
I want this element
")
9 is the element on the response page you want to display. Only that will be loaded into the element
$("
I want this element
")
7. The rest of the response page will not be displayed.

Đã trả lời ngày 20 tháng 9 năm 2010 lúc 18:09Sep 20, 2010 at 18:09

Peter Ajtaipeter AjtaiPeter Ajtai

56.3K13 Huy hiệu vàng121 Huy hiệu bạc140 Huy hiệu đồng13 gold badges121 silver badges140 bronze badges

1

Chỉ cần sử dụng $ .Filter

var html = "
" var found = $(html).filter(".im-here")

Đã trả lời ngày 18 tháng 1 năm 2017 lúc 16:40Jan 18, 2017 at 16:40

1

Bạn có thể sử dụng

$(selectorWhereToShowNewData).load('pagePath selectorForElementFromNewData');
1

$(document).ready(function() {
  var htmlVal = "
Span Value
"; var spanElement = $(htmlVal).find("span"); var spanVal = spanElement.text(); alert(spanVal); });

Đã trả lời ngày 17 tháng 4 năm 2019 lúc 6:44Apr 17, 2019 at 6:44

Hướng dẫn find element from html string jquery - tìm phần tử từ chuỗi html jquery

HifihifihiFI

1.8033 huy hiệu vàng26 Huy hiệu bạc55 Huy hiệu đồng3 gold badges26 silver badges55 bronze badges

1

Loading...

Hướng dẫn find element from html string jquery - tìm phần tử từ chuỗi html jquery

  • jQuery
  • bổ sung
  • Ui
  • Gặp gỡ
  • Diễn đàn
  • Blog
  • Về
  • Quyên tặng

  • Tất cả các diễn đàn
  • Bài viết gần đây
  • Đăng nhập

Tìm kiếm jQueryjQuery

Tìm kiếm

Diễn đàn jQuery

© 2013 JQuery Foundation

Được tài trợ bởi và những người khác.

Hướng dẫn find element from html string jquery - tìm phần tử từ chuỗi html jquery
and others.

  • Tất cả các diễn đàn
  • Bài viết gần đây

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,

$(selectorWhereToShowNewData).load('pagePath selectorForElementFromNewData');
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.demo-container" ).html();

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

$(selectorWhereToShowNewData).load('pagePath selectorForElementFromNewData');
4 trong tài liệu:

1

2

3

<div class="demo-container">

<div class="demo-box">Demonstration Boxdiv>

Kết quả sẽ trông như thế này:

1

________số 8

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

$(selectorWhereToShowNewData).load('pagePath selectorForElementFromNewData');
5 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 một tài liệu gốc. Ví dụ, Internet Explorer đôi khi bỏ các trích dẫn 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 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ụ:
    $(selectorWhereToShowNewData).load('pagePath selectorForElementFromNewData');
    
    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

text-decoration: underline;

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

<b>Clickb> to change the <span id="tag">htmlspan>

to a <span id="text">textspan> node.

This <button name="nada">buttonbutton> does nothing.

$( "p" ).click(function() {

var htmlString = $( this ).html();

$( this ).text( htmlString );

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,

      $(selectorWhereToShowNewData).load('pagePath selectorForElementFromNewData');
      
      7 đề cập đến phần tử hiện tại trong tập hợp.

Phương pháp

$(selectorWhereToShowNewData).load('pagePath selectorForElementFromNewData');
2 không có sẵn trong các tài liệu XML.

Khi

$(selectorWhereToShowNewData).load('pagePath selectorForElementFromNewData');
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 class="demo-container">

<div class="demo-box">Demonstration Boxdiv>

Kết quả sẽ trông như thế này:

1

2

________số 8

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

$(selectorWhereToShowNewData).load('pagePath selectorForElementFromNewData');
5 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 một tài liệu gốc. Ví dụ, Internet Explorer đôi khi bỏ các trích dẫn xung quanh các giá trị thuộc tính nếu chúng chỉ chứa các ký tự chữ và số.

1

2

3

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

$(selectorWhereToShowNewData).load('pagePath selectorForElementFromNewData');
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.

1

2

3

4

Nhấp vào một đoạn văn để chuyển đổi nó từ HTML sang văn bản.

text-decoration: underline;

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

<b>Clickb> to change the <span id="tag">htmlspan>

to a <span id="text">textspan> node.

This <button name="nada">buttonbutton> does nothing.

$( "p" ).click(function() {

var htmlString = $( this ).html();

$( this ).text( htmlString );

.html (htmlString) trả về: 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.

Phiên bản được thêm vào: 1.0.html (HTMLString) 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 = "
" var found = $(html).filter(".im-here")
0 instead of
var html = "
" var found = $(html).filter(".im-here")
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

$("
I want this element
")
4

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

$("
I want this element
")
5

Demo: