2010-12-04 13 views
6

से HTMLElement बनाने मैं javasacript द्वारा स्ट्रिंग से HTMLElement बनाना चाहते हैं, इसजावास्क्रिप्ट: स्ट्रिंग

element = createHTMLElement('<table class="list"><tr><td><a href="xxx">title</a></td></tr></table>') 
element.addEventListener(...) 
parent.appendChild(element) 

की तरह है और मैं jQuery

+0

मुझे लगता है कि आपको खुद को पार्सिंग करना होगा (या इसके लिए कुछ लाइब्रेरी का उपयोग करना होगा।) –

+0

संभावित डुप्लिकेट [अंतर्निहित डीओएम विधियों या प्रोटोटाइप का उपयोग करके एक HTML स्ट्रिंग से एक नया डोम तत्व बनाना] (http: //stackoverflow.com/questions/494143/creating-a-new-dom-element-from-an-html-string-using-built-in-dom-methods-or-pro) –

उत्तर

21

आप कुछ डमी बाहरी तत्व बना सकते हैं का उपयोग नहीं करना चाहते हैं:

var div = document.createElement('DIV'); 

और उसके बाद:

div.innerHTML = '<table class="list"><tr><td><a href="xxx">title</a></td></tr></table>' 

और फिर childNodes से एक्सट्रैक्ट:

div.firstChild 

innerHTML किसी Microsoft विस्तार है, लेकिन एक सार्वभौमिक सभी आधुनिक ब्राउज़रों पर समर्थन किया।

बेशक आप एक साधारण फ़ंक्शन बना सकते हैं जो आप इन स्निपेट से चाहते हैं।

+0

क्या मैं इस डमी div –

+0

का पुन: उपयोग कर सकता हूं हाँ, आप इसका पुन: उपयोग कर सकते हैं। (आंतरिक HTML को प्रतिस्थापित करने से पिछले बच्चों को रिहा कर दिया जाएगा और नए लोगों को तुरंत चालू किया जाएगा) – EFraim

+0

मुझे लगता है कि यह टिप्पणी प्रश्न बेहद अच्छा है। – Lodewijk

संबंधित मुद्दे