मैं TinyMCE के लिए एक साधारण छवि ब्राउज़र बनाने की कोशिश कर रहा हूं जिसका उपयोग मैं अपने सीएमएस में कर रहा हूं। इस के हिस्से के रूप में मुझे यह पता लगाने की आवश्यकता है कि उपयोगकर्ता ने एक मौजूदा छवि का चयन किया है, इसलिए मैं "छवि फ़ॉर्म चुनने" के बजाय "संपादन" फ़ॉर्म प्रदर्शित कर सकता हूं।jQuery का उपयोग कर चर के भीतर तत्वों का चयन कैसे करें?
var selected_html = ed.selection.getContent();
var $elem = $(selected_html);
console.log($elem);
पहले समारोह HTML की एक स्ट्रिंग के रूप में संपादक विंडो से उपयोगकर्ता चयनित पाठ देता है। मैं फिर jQuery का उपयोग करना चाहूंगा (हालांकि सादा जावास्क्रिप्ट बस ठीक है) यह जांचने के लिए कि क्या इस स्ट्रिंग में संपादन के लिए स्रोत और शीर्षक विशेषताओं को पकड़ने से पहले एक आईएमजी टैग है या नहीं।
अब मुझे एक ऑब्जेक्ट में बदलने के लिए HTML प्राप्त करने के लिए मिला है। लेकिन इसके बाद मैं इसे img तत्व के लिए खोज नहीं कर सकता। इस (How to manipulate HTML within a jQuery variable?) को पढ़ने के बाद मैंने कोशिश की:
$elem.find('img');
लेकिन यह सिर्फ एक "अनिर्धारित" वस्तु के रूप में बाहर आता है ...
मुझे लगता है कि मैं यहाँ कुछ काफी स्पष्ट याद कर रहा हूँ (देर हो रही है) , लेकिन एक घंटे के बाद भी मैं यह नहीं समझ सकता कि चयन से आईएमजी टैग कैसे पकड़ें। ।। :(
अग्रिम में बहुत धन्यवाद
आपको 'अपरिभाषित' परिणाम प्राप्त करने के लिए आप क्या करते हैं? और क्या आप HTML ऑब्जेक्ट बनाने के लिए उपयोग किए जा रहे HTML का एक उदाहरण पोस्ट कर सकते हैं? – user113716
मैं फिलहाल console.log (क्रोम का डीबगर) कर रहा हूं। जो कुछ भी मैं करता हूं, मैं एक ऑब्जेक्ट (एक __proto__?) के साथ समाप्त होता हूं जिसमें एक संदर्भ पैरामीटर "अपरिभाषित" और "img" का चयनकर्ता होता है। एचटीएमएल का चयन सीधे आगे है - बस एक आईएमजी टा, कुछ बोल्ड टेक्स्ट और एक आईएमजी टैग इत्यादि अगर मैं $ elem (कोड के पहले बिट में) लॉग करता हूं तो मुझे एक ऑब्जेक्ट मिलता है जिसमें सभी HTML नोड्स होते हैं कोड का चयनित बिट। तो थोड़ा सा ठीक काम करता है। लेकिन फिर मैं jQuery से सिर्फ आईएमजी तत्व लेने के लिए प्रबंधन नहीं कर सकता (console.log ($ elem.find ('img') के माध्यम से);)। यह हमेशा यह "अपरिभाषित" वस्तु देता है। – Fourjays
'.find()' विधि आपके लिए ' 'नहीं मिलेगी। नीचे मेरा जवाब देखें। – user113716