2010-02-28 18 views
11

मैं एक jQuery चर के भीतर संग्रहीत एचटीएमएल में हेरफेर करने की कोशिश कर रहा हूं। मैं दस्तावेज़ में चर लिखने से पहले मैं इस हेरफेर करना चाहता हूं।एक jQuery चर के भीतर एचटीएमएल का उपयोग कैसे करें?

तो, मैं एक चर के रूप में परिभाषित किया गया है:

var sighting = "<div><span class="feed_name"></span></div>"; 

और मैं span तत्व में "हैलो दुनिया" रखना चाहते हैं।

$(#sightings).append(sighting); 

कौन सा <div id="sightings"></div> में देखा चर में HTML कहते हैं:

$(sighting).("span.feed_name").html(name); 

तो मैं पृष्ठ पर 'देखा' चर बारे में: यह बात यह है कि मैं नहीं मिल सकता है काम करने के लिए है पेज पर तत्व।

किसी भी मदद की सराहना की जाएगी!

धन्यवाद,

मार्क

+3

'$ (देखा) (" span.feed_name ") एचटीएमएल (नाम)' भी मान्य नहीं है वाक्य - विन्यास। आप '$ (देखने) चाहते हैं। ढूँढें (" span.feed_name ")। Html (name)'। – jpsimons

उत्तर

4

इस प्रयास करें:

var sighting = "<div><span class=\"feed_name\"></span></div>", 
    $elem = $(sighting).find("span.feed_name").text("hello world").parent(); 
$("#sightings").append($elem); 

parent कॉल बाहरी div को वापस पाने के लिए की जरूरत है।

+0

एलओएल, आपको पहले और यहां तक ​​कि एक ही शीर्षक के साथ "यह आज़माएं:": डी (मेरा उत्तर हटा दिया गया) – Tronic

+1

हाय गम्बो, आपकी मदद के लिए धन्यवाद! मैं दूसरे जवाब के साथ जा रहा था, लेकिन आपका भी सहायक था। - मार्क – Mark

11

मैं इस विधि पसंद करते हैं, आप तत्वों पर अधिक नियंत्रण है, क्योंकि वे वस्तुओं के रूप में बने हुए हैं, और इस तरह मजबूर करने के लिए आसान कार्यों में कर रहे हैं होगा। के रूप में अगर यह पहले से ही डोम

$(sighting).addClass("feed_name").html(name); 
$(sighting).appendTo("#sighting"); 

संपादित

हम्म का हिस्सा था

sighting = document.createElement('div'); 

तो फिर तुम में हेरफेर कर सकते हैं ... ऐसा लगता है मैं अपने प्रश्न पढ़ने में भूलना। मैं अभी भी createElement() फ़ंक्शन का उपयोग करके तत्व बनाना पसंद करूंगा।

sighting = document.createElement('div'); 
sighting_contents = document.createElement('span'); 

$(sighting_contents).addClass("feed_name").html(name); 
$(sighting).append(sighting_contents); 
$(sighting).appendTo("#sightings"); 
एक छोटे से अधिक वर्बोज़

, लेकिन आप स्ट्रिंग पिछले तीन एक लंबी लाइन में अगर आप चाहते हैं ... मुझे लगता है कि कर सकते हैं इस अधिक पठनीय है और अंत में, आप अधिक नियंत्रण देता है क्योंकि तकनीकी रूप से आप लिख नहीं किया जाना चाहिए अपने जेएस में एचटीएमएल का एक गुच्छा, आप तत्व बना सकते हैं और उन्हें जोड़ सकते हैं, लेकिन जहां तक ​​मार्कअप के बड़े ब्लॉक लिखते हैं, मुझे लगता है कि इस तरह की ऑब्जेक्ट्स के रूप में तत्वों को बनाना आपको अधिक लचीलापन देता है।

तुम भी एक और अधिक सरल तरीके से इस तरह जोड़ा तत्वों को घटनाओं संलग्न कर सकते हैं:।।

$(sighting).bind("click", function(event) { 
    $(this).fadeOut(); 
}); 
+0

हाय जोसेफ, आपके उत्तर के लिए धन्यवाद! यह मेरे इच्छित दृष्टिकोण की तरह लगता है, लेकिन जब मैं लिखता हूं: sighting1 = दस्तावेज़।createElement ("

"); मैं js त्रुटि मिलती है: त्रुटि: न आया हुआ अपवाद: "5" nsresult:: "0x80530005 (NS_ERROR_DOM_INVALID_CHARACTER_ERR)" स्थान: "http: //www.myurl [अपवाद ... कोड" स्ट्रिंग एक अमान्य वर्ण है " .com लाइन: 47 "] कोई विचार क्या यह हो सकता है? धन्यवाद, मार्क – Mark

+0

हाँ, यह अपेक्षित त्रुटि है। आपको फ़ंक्शन में HTML की आवश्यकता नहीं है: 'document.createElement ('div');' आप उस फ़ंक्शन में HTML नहीं डाल सकते हैं, केवल उस तत्व का टैग जिसे आप बनाना चाहते हैं। –

+0

एक हा, मैं देखता हूं। इसने काम कर दिया! आपकी सहायता के लिए धन्यवाद. – Mark

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