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 <div id="div1"> <p>Some Content</p> </div> 2 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.
Flimzy
70.4K15 Huy hiệu vàng132 Huy hiệu bạc171 Huy hiệu đồng15 gold badges132 silver badges171 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
Nick Cravernick CraverNick Craver
615K134 Huy hiệu vàng1292 Huy hiệu bạc1152 Huy hiệu đồng134 gold badges1292 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].outerHTMLnhanh 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 : ''; };
zb226
8.9676 Huy hiệu vàng47 Huy hiệu bạc75 Huy hiệu Đồng6 gold badges47 silver badges75 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 đó:
<div id="div1"> <p>Some Content</p> </div> 3
Đơn giản vậy thôi.
Juan Antonio
2.1903 Huy hiệu vàng22 Huy hiệu bạc33 Huy hiệu Đồng3 gold badges22 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
Không khíAiry
5.0336 Huy hiệu vàng48 Huy hiệu bạc72 Huy hiệu đồng6 gold badges48 silver badges72 bronze badges
Mô tả: Chọn tất cả các yếu tố.Selects all elements. THẬN TRỌNG: Tất cả, hoặc phổ quát, bộ chọn cực kỳ chậm, ngoại trừ khi được sử dụng bởi chính nó. Tìm mọi yếu tố (bao gồm đầu, cơ thể, v.v.) trong tài liệu. Lưu ý rằng nếu trình duyệt của bạn có phần mở rộng/bổ trợ được bật, sẽ chèn phần tử <div id="div1">
<p>Some Content</p>
</div>
4 hoặc <div id="div1">
<p>Some Content</p>
</div>
5 vào DOM, phần tử đó cũng sẽ được tính.
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 33Tất cả chọn
Phiên bản được thêm vào: 1.0JQuery ("*")jQuery( "*" )
Examples:
<div id="div1">
<p>Some Content</p>
</div>
0 Demo:
Tìm tất cả các yếu tố trong Document.body Vì vậy, các yếu tố như đầu, tập lệnh, vv được loại trừ.
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 | <div id="div1"> <p>Some Content</p> </div> 1 |