ในการสร้างปลั๊กอิน jQuery แบบเต็มให้.outerHTML
เพิ่มสคริปต์ต่อไปนี้ลงในไฟล์ js ใด ๆ และรวมไว้หลัง jQuery ในส่วนหัวของคุณ:
อัปเดตเวอร์ชันใหม่มีการควบคุมที่ดีขึ้นรวมถึงบริการที่เป็นมิตรกับ jQuery Selector! :)
;(function($) {
$.extend({
outerHTML: function() {
var $ele = arguments[0],
args = Array.prototype.slice.call(arguments, 1)
if ($ele && !($ele instanceof jQuery) && (typeof $ele == 'string' || $ele instanceof HTMLCollection || $ele instanceof Array)) $ele = $($ele);
if ($ele.length) {
if ($ele.length == 1) return $ele[0].outerHTML;
else return $.map($("div"), function(ele,i) { return ele.outerHTML; });
}
throw new Error("Invalid Selector");
}
})
$.fn.extend({
outerHTML: function() {
var args = [this];
if (arguments.length) for (x in arguments) args.push(arguments[x]);
return $.outerHTML.apply($, args);
}
});
})(jQuery);
สิ่งนี้จะช่วยให้คุณไม่เพียง แต่รับส่วนนอก HTML ขององค์ประกอบหนึ่งเท่านั้น แต่ยังได้รับการส่งคืนอาร์เรย์หลายองค์ประกอบพร้อมกัน! และสามารถใช้ได้ทั้งในรูปแบบมาตรฐาน jQuery เช่น:
$.outerHTML($("#eleID")); // will return outerHTML of that element and is
// same as
$("#eleID").outerHTML();
// or
$.outerHTML("#eleID");
// or
$.outerHTML(document.getElementById("eleID"));
สำหรับองค์ประกอบหลายรายการ
$("#firstEle, .someElesByClassname, tag").outerHTML();
ตัวอย่างโค้ด:
console.log('$.outerHTML($("#eleID"))'+"\t", $.outerHTML($("#eleID")));
console.log('$("#eleID").outerHTML()'+"\t\t", $("#eleID").outerHTML());
console.log('$("#firstEle, .someElesByClassname, tag").outerHTML()'+"\t", $("#firstEle, .someElesByClassname, tag").outerHTML());
var checkThisOut = $("div").outerHTML();
console.log('var checkThisOut = $("div").outerHTML();'+"\t\t", checkThisOut);
$.each(checkThisOut, function(i, str){ $("div").eq(i).text("My outerHTML Was: " + str); });
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<script src="https://rawgit.com/JDMcKinstry/ce699e82c7e07d02bae82e642fb4275f/raw/deabd0663adf0d12f389ddc03786468af4033ad2/jQuery.outerHTML.js"></script>
<div id="eleID">This will</div>
<div id="firstEle">be Replaced</div>
<div class="someElesByClassname">At RunTime</div>
<h3><tag>Open Console to see results</tag></h3>