2010-01-05 17 views
23

संपादित करें: jQuery 1.4 के रूप में, $() का उपयोग करके नीचे वर्णित कार्य करेगा।खाली jQuery परिणाम कैसे बनाएं


मैं एक सरणी के माध्यम से लूप करने की जरूरत है और तत्व है जो मैं एक ही jQuery परिणाम वस्तु में करना चाहते हैं की एक संख्या पैदा करते हैं।

for (var i = 0; i < 10; ++i) { 
    $myJQueryObj = $myJQueryObj.add($("<span>blahblah</span>")); 
} 

हालांकि, इसके साथ समस्या यह है कि आपको एक jQuery ऑब्जेक्ट की शुरुआत करने की आवश्यकता है, और आप स्पष्ट रूप से इसे खाली करना चाहते हैं। उपर्युक्त उदाहरण में, मुझे $myJQueryObj कैसे प्रारंभ करना चाहिए?

निम्न उदाहरण काम नहीं करते, वे सभी दस्तावेज़ ऑब्जेक्ट का चयन के रूप में:

$('') 
$() 
$(null) 
$(false) 

इन कर काम ... लेकिन ...

$('#nonExistantElement') // yuck 
$().slice(0,0)   // surely there's a nicer way? 

वहाँ एक बेहतर तरीका है?

उत्तर

46

हाँ। $([]) आज़माएं। कारण $() काम नहीं करता है क्योंकि वह jQuery किसी संदर्भ की अपेक्षा करता है, और बिना किसी आपूर्ति के, संदर्भ के रूप में document पर डिफ़ॉल्ट होगा। कई चीजें इस धारणा पर सच होती हैं, इसलिए $() को बदलने के लिए "मुझे खाली सेट दें" का अर्थ सबसे अच्छा होगा।

11

आह, मैंने प्रश्न लिखने के ठीक बाद इसे समझ लिया। यहां कोई भी है जो मुझे मिला है, अगर किसी और को दिलचस्पी है:

$([]) 
संबंधित मुद्दे