2009-04-14 17 views
6

जो मैं करने की कोशिश कर रहा हूं वह है jQuery का उपयोग करके टेबल पेजर नियंत्रण बनाना। इसमें बहुत से लिंक और स्पैन शामिल हैं। मैंने सादे स्ट्रिंग कॉन्सटेनेशन के साथ ऐसा करने में कामयाब रहा है, लेकिन मुझे विश्वास नहीं है कि jQuery इसे और अधिक सुरुचिपूर्ण नहीं बना सकता है। मैं यहां जेटीम्प्लेट का उपयोग नहीं कर सकता क्योंकि पीढ़ी के पास प्रक्रियात्मक तर्क का थोड़ा सा हिस्सा है।jQuery के साथ एकाधिक HTML तत्व कैसे बनाएं?

प्रश्न: क्या jQuery के साथ HTML तत्वों की एक सरणी बनाने और उन्हें कुछ कंटेनर में जोड़ने का कोई तरीका है?

धन्यवाद।

उत्तर

22

$('First Element').add($('Second Element')).appendTo($('body'))

+0

यह 200 9 में काम कर सकता है, लेकिन आज यह एक त्रुटि संदेश के साथ विफल रहता है जो jQuery संस्करण पर निर्भर करता है। [JsFiddle] (https://jsfiddle.net/dtxg22oo/1/)। क्या काम करता है '$ ('पहला')। जोड़ें ($ ('दूसरा'))। संलग्न करें (...)'। –

+1

मैंने इसका परीक्षण किया और @romkyns सही है। मैंने तदनुसार जवाब संपादित किया। – Timwi

5

वहाँ हमेशा append() है।

$('#container').append('<span>foobar baz</span>'); 

ऐसा लगता है कि केवल स्ट्रिंग कॉन्सटेनेशन और संलग्न करने का उपयोग करना सबसे जटिल और संभवतः सबसे तेज़ विकल्प होगा।

function elemCreate(type, content, attrs) { 
    /* type: string tag name 
    * content: string element content 
    * attrs: associative array of attrs and values 
    */ 
    elem = '<' + type + '></' + type + '>' 
    e = $(elem).attr(attrs) 
    e.append(content) 
    return e 
} 

stuff = [];  
stuff.push(elemCreate('a', 'Click me!', {'href': 'http://stackoverflow.com'}); 

$(stuff).appendTo($('#container')); 
+0

वापसी ई मेरे लिए काम नहीं कर रहा है ई [0] काम कर रहा है – Azd325

8

स्ट्रिंग संयोजन (या Array.join) है: बहरहाल, अगले एक अपरीक्षित (बेशक) तत्वों के निर्माण को आसान बनाने, और आप किसी पेरेंट तत्व करने के लिए उन्हें संलग्न करने के लिए अनुमति देने के लिए एक तरह से की उदाहरण है ठीक है, जब तक आप इसे सुंदर बनाते हैं;)

var structure = [ 
    '<div id="something">', 
     '<span>Hello!</span>', 
    '</div>' 
]; 

$(structure.join('')).appendTo(container); 
संबंधित मुद्दे