Javascript jquery kodu dönüştürmek için kolay bir yolu var mı? [kapalı]


142

JQuery kodunu normal javascript'e dönüştürmenin kolay bir yolu var mı? Erişim veya jQuery kaynak kodunu anlamak zorunda kalmadan sanırım.


8
temelde 1 jquery hattı 10 vanilya javascript satırları dönüştürdü bir şeyden sonra oldu ... jquery mevcut olmayan durumlarda ...
davidsleeps

1
JQuery'yi dahil etmek için bir komut dosyası etiketi kullanamasanız bile, kaynak dosyaya her zaman küçültülmüş bir sürüm ekleyebilirsiniz. JQuery'nin neden bir tür kurumsal politika dışında mevcut olmasının bir nedeni olduğunu göremiyorum.
cdmckay

23
Bunun için de iyi bir kullanım görebilirim. Suppoe jQuery ile javascript sadece yaklaşık 10-100 satır kullanın. Fonksiyonları temel yöntemlerle yeniden derleyerek ve değiştirerek bant genişliğinden tasarruf eder ve böylece jQuery'den başka her şeyi yüklemez.

5
Aynı soruyu aldım. Birçoğu jQuery'nin daha basit olduğunu yanıtladı, ancak JavaScript'e zaten aşina olan bir geliştirici, jQuery'deki sembolü / kısaltmayı anlamada bir sorun yaşayacaktır. Ve sormamın nedeni, nedense jQuery betiğinin Blackberry'de çalışmayacağı. Bu bir Ajax yükleme betiğidir. Bu yüzden Javascript'e

1
Ben mevcut bir uygulama içinde bir JS-kludge yapmaya çalışıyorum ve jQuery içeriyorsa app sonu dahili JS fonksiyonları tüm. Kötü yazılmış bir uygulama (Atlassian'ın JIRA) ve eminim suçlayacaklar ama buna ihtiyacım var.
chadoh

Yanıtlar:


41

En kolay yol, basit DOM api ile DOM geçişi ve manipülasyonunun nasıl yapılacağını öğrenmektir (muhtemelen buna normal bir ad vereceksiniz).

Ancak bu bazı şeyler için acı olabilir. (bu yüzden ilk etapta kütüphaneler icat edildi).

"Javascript DOM traversing / manipulation" için googling size birçok yararlı (ve daha az yardımcı) kaynak sunmalıdır.

Bu web sitesindeki makaleler oldukça iyi: http://www.htmlgoodies.com/primers/jsp/

Ve Nosredna'nın yorumlarda belirttiği gibi: tüm tarayıcılarda test ettiğinizden emin olun, çünkü jQuery sizin için tutarsızlıkları ele almayacaktır.


4
Ve her tarayıcının çeşitli sürümlerine karşı test ettiğinizden emin olmalısınız.
Nosredna

1
Masaüstü iş istasyonu seçimi jQuery kullanımını nasıl etkiler?
Dan Davies Brackett

5
Bazı kuruluşlar için açık kaynaklı bir kütüphane kullanma politikasına sempati duyuyorum. Sonunda yeniden yazmayı düz (ve muhtemelen buggily) düz DOM geçişine harcadığınız zaman ve JS şirket için boşa harcanıyor. Çok muhafazakar şirketler de dahil olmak üzere büyük şirketlerin jQuery: docs.jquery.com/Sites_Using_jQuery : Oracle, Google, Amazon, Dell, Bank of America, Intuit, Salesforce kullandığını söyleyebilirsiniz . Bunlar neredeyse hippi komünist şirketler. Bunlar hukuk departmanları muhtemelen ödevlerini yapmış ve jQuery kabul etmiş çok gerçek şirketler ...
artlung

2
@davidsleeps - jQuery Microsoft tarafından onaylanmıştır ... Teknik olarak "Microsoft" aracı yapan Visual Studio 2008'de bulunmaktadır. Bu işvereninizi daha iyi hissettirir mi?
Robert Harvey

4
Şirketinizin jquery ve aynı şeyi yapmak için yazdığınız bir sürü javascript arasındaki farkı nedir? Sanki bir şey kuruyorsunuz, yeni bir dilde kod yazıyorsunuz ya da HERHANGİ bağımlılıklar ekliyorsunuz. Bu dürüstçe duyduğum en aptalca şey, javascript izin ama jQuery değil. jQuery JAVASCRIPT IS!
micmcg

60

Bu sizi% 90 oranında oraya götürecektir; )

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

Ajax için, Getirme API'sı artık her büyük tarayıcının mevcut sürümünde desteklenmektedir . İçin $.ready(), DOMContentLoadedsahip yakın evrensel desteği . Gerekmeyebilir jQuery diğer yaygın jQuery işlevleri için eşdeğer yerel yöntemler sağlar.

Zepto benzer işlevsellik sunar, ancak 10K sıkıştırılmış ağırlığındadır. Bazı mikro çerçevelerin yanı sıra jQuery ve Zepto için özel Ajax yapıları vardır , ancak jQuery / Zepto sağlam desteğe sahiptir ve 10KB, 56K modemde sadece ~ 1 saniyedir.


23

Jquery'den javascript dönüşümüne ilişkin oldukça etkileyici bir öğreticiyi Jeffrey Way'den 19 Ocak 2012'de buldum *Copyright © 2014 Envato* :

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

İster beğenelim ister beğenmesiz, gittikçe daha fazla geliştirici jQuery aracılığıyla JavaScript dünyasına tanıtılıyor. Birçok yönden, bu yeni gelenler şanslı olanlar. DOM geçiş sürecini (birçok kişinin jQuery'ye bağlı olduğu bir şey) önemli ölçüde daha kolay hale getiren çok sayıda yeni JavaScript API'sine erişebilirler. Ne yazık ki, bu API'leri bilmiyorlar!

Bu makalede, çeşitli ortak jQuery görevlerini alacağız ve bunları hem modern hem de eski JavaScript'e dönüştüreceğiz.

OP'ye bir yorumda önerdim ve önerisinden sonra herkesin başvurması gereken bir cevabı var.

Ayrıca, Jeffrey Way ilham cadıdan bahsetmek için iyi bir primer gibi görünüyor: http://sharedfil.es/js-48hIfQE4XK.html

Bir teaser, jQuery javascript bu belge karşılaştırma:

$(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…
  });
});

Bir göz atmalısın.


12

Bu eski bir iş parçacığı olduğunu biliyorum ama jquery eşdeğer javascript gösteren mükemmel bir kaynak var, hatta ES6 örnekleri içerir. Bu konuyu kapsayan diğer makalelerden bulduğum en kapsamlı makaledir.

jQuery - Vanilla JS


6

JQuery kodunu normal javascript'e dönüştürmenin kolay bir yolu var mı?

Hayır, özellikle:

jQuery'de yazılmış javascript çözümlerinin örneklerini anlamak zordur.

JQuery ve tüm çerçeveler, kodun daha kolay anlaşılmasını sağlar. Bunu anlamak zorsa, vanilya javascript işkence olacak :)


16
diğerlerinin gerçek cevapları var
ftrotter

2
Ayrıca, JQuery kodu daha özlü (genellikle) yapsa da, gerçekten daha kolay hale getirip getirmediği tartışmalıdır . jQuery zihinsel ayrıştırma bazı kod zorlaştırabilir. Örneğin, <input onclick="myfunction(this)">birlikte myfunction(field){ field.value = "3"; }bana markaları daha anlamda daha <input id='thing'>ile(function ($) { $(thing).click({ $(thing).val("3");});})()
liljoshu

6

JQuery kodunu otomatik olarak standart JavaScript'e derlemek için orijinal gönderiyle ilgisiz bir neden görüyorum:

16k - veya gzip edilmiş, küçültülmüş jQuery kütüphanesi ne olursa olsun - web siteniz için bir mobil tarayıcı için tasarlanmış çok fazla olabilir. W3c, mobil web siteleri için tüm HTTP isteklerinin en fazla 20k olmasını öneriyor.

cep telefonu için w3c özellikleri

Bu yüzden güzel, kısa, zincirli jQuery kodlama zevk. Ancak şimdi mobil cihazlar için optimizasyon yapmam gerekiyor. Gerçekten geri dönmeli ve jQuery kütüphanesinde kullandığım tüm yardımcı işlevleri yeniden yazmanın zor ve sıkıcı işini yapmalı mıyım? Yoksa yeniden derlememe yardımcı olacak uygun bir uygulama var mı?

Çok tatlı olurdu. Ne yazık ki böyle bir şey olduğunu sanmıyorum.


6

1

Jeremy Keith'in " DOM Scripting " kitabı Javascript ve DOM ile çalışmak için harika bir giriş. JQuery kullanmak isteyip istemediğinizi kesinlikle tavsiye ederim. Altında neler olduğunu bilmek güzel.


Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.