क्या जावास्क्रिप्ट कोड को जावास्क्रिप्ट में बदलने का एक आसान तरीका है? [बन्द है]


142

क्या jQuery कोड को नियमित जावास्क्रिप्ट में बदलने का एक आसान तरीका है? मुझे लगता है कि jQuery स्रोत कोड तक पहुंचने या समझने के बिना।


8
मैं मूल रूप से कुछ के बाद था जो 1 jquery लाइन को 10 वेनिला जावास्क्रिप्ट लाइनों में परिवर्तित करता था ... ऐसे मामलों के लिए जब jquery उपलब्ध नहीं है ...
davidsleeps

1
यहां तक ​​कि अगर आप jQuery को शामिल करने के लिए एक स्क्रिप्ट टैग का उपयोग नहीं कर सकते हैं, तो आप हमेशा स्रोत फ़ाइल के लिए एक छोटा संस्करण प्रस्तुत कर सकते हैं। मैं किसी भी कारण से नहीं देख सकता कि jQuery कॉर्पोरेट राजनीति के कुछ प्रकारों के अलावा अन्य उपलब्ध क्यों नहीं होगा।
cdmckay

23
मैं इसके लिए भी अच्छा उपयोग देख सकता हूं। मान लीजिए कि आप jQuery के साथ जावास्क्रिप्ट में केवल 10-100 लाइनों का उपयोग करते हैं। यह बैंडविड्थ को पुनः आरंभ करके और मुख्य विधियों में फ़ंक्शन को प्रतिस्थापित करके बचत करेगा और इस प्रकार jQuery से बाकी सब लोड नहीं करेगा।

5
मुझे वही सवाल मिला। कई लोगों ने कहा कि jQuery अधिक सरल है, लेकिन एक डेवलपर जो पहले से ही जावास्क्रिप्ट से परिचित है, को jQuery में प्रतीक / संक्षिप्त नाम को समझने में कुछ समस्या होगी। और मेरे पूछने का कारण यह है कि किसी कारण से मुझे मिली jQuery स्क्रिप्ट ब्लैकबेरी में काम नहीं करेगी। यह एक अजाक्स-अपलोड स्क्रिप्ट है। इसलिए मुझे लगता है कि मुझे इसे जावास्क्रिप्ट में अनुवाद करने की आवश्यकता है :(

1
मैं एक मौजूदा ऐप के अंदर JS-kludge बनाने का प्रयास कर रहा हूं, और यदि jQuery शामिल है, तो ऐप के सभी इनबिल्ट JS फ़ंक्शन टूट जाते हैं। यह एक खराब लिखित ऐप (एटलसियन का JIRA) है, और मुझे यकीन है कि वे दोषी हैं, लेकिन मुझे इसकी आवश्यकता है।
चाडोह

जवाबों:


41

सबसे आसान तरीका सिर्फ यह सीखना है कि सादे डोम एपीआई के साथ डोम ट्रेवर्सिंग और हेरफेर कैसे करें (आप शायद इसे कॉल करेंगे: जावास्क्रिप्ट जावास्क्रिप्ट)।

हालांकि यह कुछ चीजों के लिए दर्द हो सकता है। (यही कारण है कि पुस्तकालयों का आविष्कार पहली जगह में किया गया था)।

"जावास्क्रिप्ट डोम ट्रैवर्सिंग / मैनिपुलेशन" के लिए गुग्लिंग आपको बहुत सारे सहायक (और कुछ कम सहायक) संसाधनों के साथ प्रस्तुत करना चाहिए।

इस वेबसाइट पर लेख बहुत अच्छे हैं: http://www.htmlgoodies.com/primers/jsp/

और जैसा कि नोसरेडना टिप्पणियों में बताते हैं: सभी ब्राउज़रों में परीक्षण करना सुनिश्चित करें, क्योंकि अब jQuery आपके लिए विसंगतियों को संभाल नहीं पाएगा।


4
और आपको प्रत्येक ब्राउज़र के विभिन्न संस्करणों के खिलाफ परीक्षण करना सुनिश्चित करना होगा।
नोसरेडना

1
डेस्कटॉप वर्कस्टेशन की पसंद jQuery के उपयोग को कैसे प्रभावित करती है?
डैन डेविस ब्रैकेट

5
मैं कुछ संगठनों के लिए एक ओपन-सोर्स लाइब्रेरी का उपयोग करने की राजनीति के प्रति सहानुभूति रखता हूं। अंत में आप सादे डोम ट्रैवर्सल और जेएस में सादा (और संभावित रूप से बगली) पुनर्लेखन का समय व्यतीत कर रहे हैं और कंपनी के लिए पैसा बर्बाद कर रहे हैं। आप ऐसा मामला बना सकते हैं कि बड़ी कंपनियां, जिनमें बहुत रूढ़िवादी शामिल हैं, jQuery का उपयोग करें: docs.jquery.com/Sites_Using_jQuery : Oracle, Google, Amazon, Dell, Bank of America, Intuit, Salesforce। ये शायद ही हिप्पी कम्युनिस्ट कंपनियां हैं। ये बहुत वास्तविक कंपनियां हैं जिनके कानूनी विभागों ने शायद अपना होमवर्क किया है और jQuery स्वीकार किया है ...
आर्टलंग

2
@davidsleeps - jQuery को Microsoft द्वारा अनुमोदित किया गया है ... यह विज़ुअल स्टूडियो 2008 में शामिल है, जो तकनीकी रूप से इसे "Microsoft" टूल बनाता है। क्या इससे आपका नियोक्ता बेहतर महसूस करेगा?
रॉबर्ट हार्वे

4
Jquery और जावास्क्रिप्ट के पूरे समूह के बीच आपकी कंपनी में क्या अंतर है जो आपने एक ही काम करने के लिए लिखा था? इसकी तरह आप कुछ भी स्थापित नहीं कर रहे हैं, एक नई भाषा में कोडिंग या किसी भी निर्भरता को जोड़ रहे हैं। यह ईमानदारी से मूर्खतापूर्ण बात मैंने सुनी है, जावास्क्रिप्ट की अनुमति देता है लेकिन jQuery नहीं। jQuery का JAVASCRIPT है!
micccg

60

इससे आपको वहां का 90% रास्ता मिल जाएगा; )

window.$ = document.querySelectorAll.bind(document)

Ajax के लिए, Fetch API अब हर प्रमुख ब्राउज़र के वर्तमान संस्करण पर समर्थित है । के लिए $.ready(), DOMContentLoadedहै निकट सार्वभौमिक समर्थनआपको इसकी आवश्यकता नहीं है jQuery अन्य सामान्य jQuery कार्यों के लिए समान मूल तरीके देता है।

Zepto समान कार्यक्षमता प्रदान करता है, लेकिन 10K में तौला जाता है । JQuery और Zepto के साथ-साथ कुछ माइक्रो फ्रेमवर्क के लिए कस्टम अजाक्स बनाता है , लेकिन jQuery / Zepto को ठोस समर्थन प्राप्त है और 10KB 56K मॉडेम पर केवल ~ 1 सेकंड है।


22

मुझे सिर्फ 19 जनवरी 2012 को जेफरी वे से जावास्क्रिप्ट रूपांतरण के लिए jquery के बारे में यह काफी प्रभावशाली ट्यूटोरियल मिला *Copyright © 2014 Envato* :

http://net.tutsplus.com/tutorials/javascript-ajax/from-jquery-to-javascript-a-reference/

हम इसे पसंद करते हैं या नहीं, अधिक से अधिक डेवलपर्स को जावास्क्रिप्ट की दुनिया में पहले jQuery के माध्यम से पेश किया जा रहा है। कई मायनों में, ये नए लोग भाग्यशाली हैं। उनके पास नए जावास्क्रिप्ट एपीआई के ढेर सारे उपयोग हैं, जो डोम ट्रैवर्सल की प्रक्रिया को बनाते हैं (कुछ ऐसा है जो बहुत से लोग jQuery पर निर्भर करते हैं) काफी आसान है। दुर्भाग्य से, वे इन एपीआई के बारे में नहीं जानते हैं!

इस लेख में, हम कई प्रकार के सामान्य jQuery कार्य करेंगे, और उन्हें आधुनिक और विरासत जावास्क्रिप्ट दोनों में परिवर्तित करेंगे।

मैंने इसे ओपी के लिए एक टिप्पणी में प्रस्तावित किया था, और उनके सुझाव के बाद, मैंने इसे प्रकाशित किया, जिसका उत्तर सभी के लिए है।

इसके अलावा, जेफरी वे ने अपनी प्रेरणा डायन के बारे में बताया कि यह समझने के लिए एक अच्छा प्राइमर है: http://saredfil.es/js-48hIfQE4XK.html

एक टीज़र है, jQuery के जावास्क्रिप्ट के लिए इस दस्तावेज़ की तुलना:

$(document).ready(function() {
  // code…
});

document.addEventListener("DOMContentLoaded", function() {
  // code…
});

$("a").click(function() {
  // code…
})

[].forEach.call(document.querySelectorAll("a"), function(el) {
  el.addEventListener("click", function() {
    // code…
  });
});

आपको देख लेना चाहिए।


12

मुझे पता है कि यह एक पुराना धागा है, लेकिन एक उत्कृष्ट संसाधन है जो देशी जावास्क्रिप्ट को jquery के बराबर दिखाता है, इसमें ES6 उदाहरण भी शामिल हैं। यह सबसे व्यापक एक है जिसे मैंने इस विषय को कवर करने वाले अन्य लेखों से पाया है।

वेनिला जेएस के लिए jQuery


6

क्या jQuery कोड को नियमित जावास्क्रिप्ट में बदलने का एक आसान तरीका है?

नहीं, खासकर यदि:

jQuery [[]] में लिखे जावास्क्रिप्ट समाधानों के उदाहरणों को समझना कठिन है।

JQuery और सभी चौखटे कोड को समझने में आसान बनाते हैं। अगर यह समझना मुश्किल है, तो वेनिला जावास्क्रिप्ट यातना होगी :)


15
अन्य लोगों के पास वास्तविक उत्तर हैं
फुट्रॉटर

2
हालांकि, हालांकि JQuery कोड को अधिक संक्षिप्त (आमतौर पर) बनाता है, यह बहस करने योग्य है कि क्या यह वास्तव में इसे आसान बनाता है । jQuery मानसिक रूप से पार्स करने के लिए कुछ कोड को कठिन बना सकता है। उदाहरण के लिए, <input onclick="myfunction(this)">के साथ myfunction(field){ field.value = "3"; }की तुलना में मेरे लिए बनाता है और अधिक भावना <input id='thing'>के साथ(function ($) { $(thing).click({ $(thing).val("3");});})()
liljoshu

6

मैं एक कारण देख सकता हूं, मूल पोस्ट से असंबंधित, jQuery कोड को स्वचालित रूप से मानक जावास्क्रिप्ट में संकलित करने के लिए:

16k - या जो भी gzipped है, minified jQuery लाइब्रेरी है - आपकी वेबसाइट के लिए बहुत अधिक हो सकती है जो कि मोबाइल ब्राउज़र के लिए अभिप्रेत है। W3c अनुशंसा कर रहा है कि मोबाइल वेबसाइटों के लिए सभी HTTP अनुरोध अधिकतम 20k होने चाहिए।

w3c मोबाइल के लिए चश्मा

इसलिए मुझे अपनी अच्छी, सुरीली, जंजीर वाली jQuery में कोडिंग का आनंद मिलता है। लेकिन अब मुझे मोबाइल के लिए अनुकूलित करने की आवश्यकता है। क्या मुझे वास्तव में वापस जाना चाहिए और jQuery पुस्तकालय में उपयोग किए जाने वाले सभी सहायक कार्यों को फिर से लिखने का कठिन, कठिन काम करना चाहिए? या किसी प्रकार का सुविधाजनक ऐप है जो मुझे फिर से संगठित करने में मदद करेगा?

यह बहुत मीठा होगा। अफसोस की बात है, मुझे नहीं लगता कि ऐसी कोई चीज मौजूद है।


6

1

जेरेमी कीथ की पुस्तक " डोम स्क्रिप्टिंग " जावास्क्रिप्ट और डोम के साथ काम करने के लिए एक महान परिचय है। मैं अत्यधिक अनुशंसा करता हूं कि आप jQuery का उपयोग करना चाहते हैं या नहीं। यह जानना अच्छा है कि नीचे क्या हो रहा है।


हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.