2011-12-08 10 views
10

मैं इस स्ट्रिंग संलग्न करने के लिए कोशिश कर रहा हूँ:जोड़कर एचटीएमएल एन्कोड स्ट्रिंग HTML के रूप में, नहीं पाठ के रूप में

<div> hello </div> 
एक HTML नोड के रूप में

, लेकिन इसके बजाय एचटीएमएल जोड़कर की यह सिर्फ पाठ संलग्न कर देता है:

<div> hello </div> 

मैं jQuery को इसे HTML नोड के रूप में कैसे जोड़ूं, न केवल टेक्स्ट?

मुझे ऐसा समाधान चाहिए जो संभवतः नेस्टेड divs और text दोनों के लिए काम करता हो।

+0

आप किस कोड का उपयोग कर रहे हैं? – Quentin

+2

है

hello
क्योंकि यह हो गया है http://stackoverflow.com/questions/1912501/unescape-html-entities-in-javascript –

उत्तर

19
// This is your string :) 
var myString = "&lt;div&gt; hello &lt;/div&gt;"; 

// This is a way to "htmlDecode" your string... see link below for details.  
myString = $("<div />").html(myString).text(); 

// This is appending the html code to your div (which you don't have an ID for :P) 
$("#TheDivIWantToChange").append(myString); 

HTML-encoding lost when attribute read from input field

+0

क्या होगा अगर वहाँ बाहरी अंदर जटिल नेस्टेड divs होता है पर एक नजर डालें सिर्फ "हैलो" पाठ के बजाय div? – zakdances

+2

यह कोई अलग नहीं होगा। –

+0

क्या नया एचटीएमएल एक jquery नोड के रूप में पंजीकृत करने का कोई तरीका है, इसलिए इसे $ ('# newDiv') के साथ संदर्भित किया जा सकता है? – zakdances

-2

हो सकता है कि यह एक सा वर्बोज़ है, लेकिन यह आम तौर पर मैं कैसे इस तरह सामान संभाल है:

var div = $(document.createElement("div")); 

div.text(" hello "); //Or div.html(" hello ") if need be... 

$("#divtoappendto").append(div); 
0

आप .createElement('div') के साथ एक नया div बना सकते हैं। फिर बस नए तत्व के एचटीएमएल को बदलें।

$(document.createElement('div').html('<p>All new content.</p>')); 

डोम के लिए नए तत्व अटैच element.append() या .appendTo(element) का उपयोग अपनी पसंद के तत्व से संलग्न करने के लिए।

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