উত্তর:
আমি ধরে নিলাম আপনি সম্পূর্ণ এইচটিএমএল স্ট্রিংয়ের জন্য জিজ্ঞাসা করছেন। যদি এটি হয় তবে এর মতো কিছু কৌশলটি করবে:
$('<div>').append($('#item-of-interest').clone()).html();
এটি এখানে আরও গভীরতার সাথে ব্যাখ্যা করা হয়েছে , তবে মূলত আপনি আগ্রহের আইটেমটি মোড়ানো, ম্যানিপুলেশনগুলি করতে, এটি অপসারণ এবং এইচটিএমএল ধরতে একটি নতুন নোড তৈরি করেন।
যদি আপনি কেবল স্ট্রিং উপস্থাপনের পরে থাকেন তবে সাথে যান new String(obj)।
আমি আসল উত্তরটি ২০০৯ সালে লিখেছি। ২০১৪ সালের হিসাবে এখন বেশিরভাগ প্রধান ব্রাউজারগুলি outerHTMLএকটি দেশীয় সম্পত্তি হিসাবে সমর্থন করে (উদাহরণস্বরূপ, ফায়ারফক্স এবং ইন্টারনেট এক্সপ্লোরার ), তাই আপনি করতে পারেন:
$('#item-of-interest').prop('outerHTML');
$(...)হ'ল বৈধ ডোম নোড))
data
আপনি কি আরও কিছু নির্দিষ্ট হতে পারেন? আপনি যদি কোনও ট্যাগের ভিতরে এইচটিএমএল পাওয়ার চেষ্টা করে থাকেন তবে আপনি এই জাতীয় কিছু করতে পারেন:
এইচটিএমএল স্নিপেট:
<p><b>This is some text</b></p>
JQuery:
var txt = $('p').html(); // Value of text is <b>This is some text</b>
এইচটিএমএল নোড (অবজেক্ট) -এ কী কী বৈশিষ্ট্য এবং পদ্ধতি উপলব্ধ তা সন্ধান করার সর্বোত্তম উপায় হ'ল কিছু করার জন্য:
console.log($("#my-node"));
JQuery 1.6+ থেকে আপনি আপনার স্ট্রিং আউটপুটে HTML ট্যাগগুলি অন্তর্ভুক্ত করতে কেবল আউটআরএইচটিএমএল ব্যবহার করতে পারেন:
var node = $("#my-node").outerHTML;
$('#my-node').get(0).outerHTMLএমপিফাইলেসের জবাব হিসাবে রয়েছে
.outerHTMLআমার জন্য কাজ করেনি, কিন্তু .prop('outerHTML')করেছে।
jQuery এখানে আছে, তাই:
jQuery.fn.goodOLauterHTML= function() {
return $('<a></a>').append( this.clone() ).html();
}
সমস্ত HTML টি জিনিস ফেরত দিন:
$('div' /*elys with HTML text stuff that you want */ ).goodOLauterHTML(); // alerts tags and all
এটি আমার পক্ষে ভাল কাজ করছে বলে মনে হচ্ছে:
$("#id")[0].outerHTML
গৃহীত উত্তরটি পাঠ্য নোডগুলি কভার করে না (অপরিজ্ঞাতটি মুদ্রিত হয়ে আছে)।
এই কোড স্নিপেট এটি সমাধান করে:
var htmlElements = $('<p><a href="http://google.com">google</a></p>↵↵<p><a href="http://bing.com">bing</a></p>'),
htmlString = '';
htmlElements.each(function () {
var element = $(this).get(0);
if (element.nodeType === Node.ELEMENT_NODE) {
htmlString += element.outerHTML;
}
else if (element.nodeType === Node.TEXT_NODE) {
htmlString += element.nodeValue;
}
});
alert('String html: ' + htmlString);
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
.Html () ব্যবহার করতে ক্লোন করতে এবং ডিওমে যুক্ত করার দরকার নেই, আপনি এটি করতে পারেন:
$('#item-of-interest').wrap('<div></div>').html()
wrap()আবৃত উপাদান ফিরে না উপাদান যা দিয়ে এটা আবৃত করা হয়েছিল? সুতরাং এটির মূল উপাদানটি নয় এইচটিএমএল দেওয়া উচিত (যদি না জিকুয়েরি ২০১২ সালের ফেব্রুয়ারী থেকে পরিবর্তন হয়)। #item-of-interest div
আপনি যদি কোনও এইচটিএমএল উপাদানটিকে কোথাও পাস করার জন্য এবং উপাদানটিকে আবার কোনও উপাদানকে বিশ্লেষণ করতে চান তবে উপাদানটির জন্য একটি অনন্য ক্যোয়ারী তৈরি করে দেখুন:
// 'e' is a circular object that can't be stringify
var e = document.getElementById('MyElement')
// now 'e_str' is a unique query for this element that can be stringify
var e_str = e.tagName
+ ( e.id != "" ? "#" + e.id : "")
+ ( e.className != "" ? "." + e.className.replace(' ','.') : "");
//now you can stringify your element to JSON string
var e_json = JSON.stringify({
'element': e_str
})
চেয়ে
//parse it back to an object
var obj = JSON.parse( e_json )
//finally connect the 'obj.element' varible to it's element
obj.element = document.querySelector( obj.element )
//now the 'obj.element' is the actual element and you can click it for example:
obj.element.click();