यह एक अजीब अनुरोध की तरह प्रतीत हो सकता है, और यह सामान्य से काफी अलग है, लेकिन यह एक चुनौती है जिसे मैं हल करने की कोशिश कर रहा हूं।जावास्क्रिप्ट: बाद में उपयोग किए जाने वाले स्ट्रिंग के रूप में एक DOM तत्व को क्रमबद्ध कैसे करें?
मान लें कि आपके पास एक डोम तत्व है, जो HTML से बना है और कुछ सीएसएस लागू किए जा रहे हैं, और कुछ जेएस ईवेंट श्रोताओं। मैं इस तत्व को क्लोन करना चाहता हूं (और सभी सीएसएस और जेएस लागू किए जा रहे हैं), इसे एक स्ट्रिंग के रूप में क्रमबद्ध करें जिसे मैं भविष्य में अनुरोध में डीओएम में जोड़ने के लिए डेटाबेस में सहेज सकता हूं।
मुझे पता है कि jQuery में गणना की गई शैलियों को पाने के लिए इनमें से कुछ विधियां हैं (जैसे $ .css()) लेकिन मैं इन सभी चीजों को कैसे कर सकता हूं और इसे एक स्ट्रिंग में बदल सकता हूं जिसे मैं डेटाबेस में सहेज सकता हूं?
अद्यतन:
<div id="test_div" class="some_class">
<p>With some content</p>
</div>
<style>
#test_div { width: 200px }
.some_class { background-color: #ccc }
</style>
<script>
$('#test_div').click(function(){
$(this).css('background-color','#0f0');
});
</script>
... और शायद एक नमूना क्रमबद्धता:
var elementString = $('#test_div').serializeThisElement();
जो एक स्ट्रिंग है कुछ इस तरह दिखता में परिणाम होगा: यहाँ एक उदाहरण तत्व है
<div id="test_div"
class="some_class"
style="width:200px; background-color:#ccc"
onclick="javascript:this.style.backgroundColor='#0f0'">
<p>With some content</p>
</div>
इसलिए मैं इसे AJAX अनुरोध के रूप में भेज सकता हूं:
$.post('/save-this-element', { element: elementString } //...
उपरोक्त केवल एक उदाहरण है। यह आदर्श होगा यदि धारावाहिक मूल उदाहरण के समान ही दिख सकता है, लेकिन जब तक यह मूल के समान ही प्रस्तुत करता है, तो मैं इसके साथ ठीक होगा।
हम एक ही तत्व के बारे में बात कर रहे हैं? या मनमानी आकार की एक घोंसला वाली डीओएम संरचना? – nrabinowitz
क्या आप एक उदाहरण आउटपुट स्ट्रिंग दे सकते हैं जिसे आप उम्मीद करेंगे? –
इवेंट कॉलबैक के संदर्भों का भंडारण विश्वसनीय नहीं होगा। –