2013-05-28 4 views
19

की विधि 'createDocumentFragment' को कॉल नहीं कर सकता पृष्ठ स्टार्टअप के दौरान मैं डोम में एक तत्व जोड़ने की कोशिश कर रहा हूं।Jquery तैयार करें: शून्य

$(document).ready(function() { 
    $(document).prepend("<div id=new_div style=z-index:1;></div>"); 
}); 

मैं FF21, Chrome27 और IE10 पर इस परीक्षण किया है:

मैं निम्नलिखित कोड है। वे सभी शीर्षक में उल्लिखित त्रुटि लौटाते हैं (सटीक शब्द क्रोम डीबगर से है)। jQuery-1.10.0.js पर

डिबगिंग, मैं 5998 लाइन जहां

safeFrag = document.createDocumentFragment() 

जाहिर दस्तावेज़ रिक्त है समस्या नीचे ट्रैक किए गए। लाइन 624 9 पर domManip पर स्टैक ट्रेस को ऊपर जाकर ऑब्जेक्ट this[ 0 ].ownerDocument के रूप में पारित किया गया है, जो शून्य है।

मैंने jQuery पर बस लोड करने और इस कमांड को चलाने के लिए पृष्ठ पर जावास्क्रिप्ट को तोड़ दिया है, और समस्या बनी रहती है।

this jsFiddle देखें, अलर्ट पॉप नहीं है, जिसका अर्थ है कि जावास्क्रिप्ट इंजन पहले लाइन पर फंस गया था।

सहायता की सराहना की।

+1

आप दस्तावेज़ में प्रीपेड करने का प्रयास क्यों कर रहे हैं? Document.body की तरह, एक वास्तविक डोम नोड के लिए तैयार करें। साथ ही, अपने गुण मानों के लिए उद्धरणों का उपयोग करने का प्रयास करें – Ian

उत्तर

33

document ऑब्जेक्ट की शुरुआत में कोई तत्व जोड़ने का प्रयास करने का अर्थ नहीं है। यह एक HTMLElementNode नहीं है। जहां तक ​​मुझे पता है, आप इसे अतिरिक्त बच्चों को बिल्कुल नहीं दे सकते।

आप कुछ के शुरू करने के एक div तत्व जोड़ने के लिए चाहते हैं, तो उच्चतम नोड है कि यह शरीर तत्व है शामिल करने के लिए अनुमति दी है, इसलिए का उपयोग करें:

$(document.body).prepend 

... बजाय।

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