Doğru elemanları aldıklarını kontrol etmek için CSS1-3 seçicilerini nasıl test edebilirim, örn. JavaScript ile (belki jQuery)?CSS seçicilerini JavaScript’te nasıl test edebilirim?
cevap
Şimdiye kadarki en basit geleneksel yol, JavaScript'i hiç kullanmamaktır ve seçiciyi kalbin içeriğine göre test edebileceğiniz bir test sayfası hazırlar. Web'de gördüğünüz test durumları (iyi bilinen CSS3.info Selectors Test gibi), çevrimiçi olarak barındırılan gerçekten sadece taranan sürümlerdir.
Ancak bir JavaScript yöntemi arıyorsanız, Selectors API'u deneyebilirsiniz. Modern DOM uygulamalarında (IE8 + ve diğerleri) mevcuttur ve CSS seçicilerini kullanan öğe düğümleri için DOM'yi sorgulamak ve belirli bir tarayıcı tarafından doğal olarak desteklenen CSS seçicilerini test etmek için bir JavaScript ön ucu sağlar.
(Seçici API'sini uygulamamış tarayıcılarda jQuery'ye güvenmeniz gerekir, ancak tarayıcının kendi desteklemenin yanı sıra bir tarayıcıdan daha farklı bir dizi seçici için destek sağladığını unutmayın. bir seçici test etmek Chrome'un JavaScript konsolu ile jQuery kullanarak Selectors spec. bir örnekte bulunmayan standart uzantıları). test etmek istediğinize bağlı
Çağrısı querySelector()
veya querySelectorAll()
here bulundu ve kontrol edilebilir dönüş değeri (tercihen yalnızca test ettiğinizden beri tarayıcınızın geliştirici araçlarında):
Eşleşme bulunursa, eski yöntem,
NodeList
olarak eşleşen tüm öğeleri döndürürken, eşleşen ilkElement
değerini döndürür.Hiçbir şey bulunamazsa, eski
null
değerini döndürür, ikincisi boş birNodeList
döndürür.Seçici geçersiz ise, yakalayabileceğiniz bir istisna atılır.
var h1 = document.body.querySelector('h1'); console.log(h1);
: İlk<h1 itemprop="name">
h1
body
yılında bulma: Burada
Sorunun soyundan gelenlerikişiyi buldukeleman:
var subnodes = h1.querySelectorAll('*'); console.log(subnodes[0]);
<a class="question-hyperlink" href="https://stackoverflow.com/questions/9165859/how-do-i-test-css-selectors-in-javascript">
Test (Safari/Chrome'da
:-webkit-any()
):-moz-any()
Firefox'ta sözde sınıfı:// This selector works identically to h1 > a, li > a var hyperlinks = document.querySelectorAll(':-moz-any(h1, li) > a'); console.log(hyperlinks);
[a#nav-questions /questions, a#nav-tags /tags, a#nav-users /users, a#nav-badges /badges, a#nav-unanswered /unanswered, a#nav-askquestion /questions/ask, a.question-hyperlink /questio...vascript]
Test varolmayan bir seçici (yani perhaps many of us wish did exist):
// :first-of-class doesn't exist! var selector = 'div.answer:first-of-class'; try { var firstAnswer = document.querySelector(selector); console.log(firstAnswer); } catch (e) { console.log('Invalid selector: ' + selector); }
Invalid selector: div.answer:first-of-class
http://selectorgadget.com test etmek ve CSS seçicileri inşa etmek oldukça güzel. Sadece sağladıkları bir parçayı sürükleyip bırakarak yer imleri çubuğunuza bırakın ve ihtiyacınız olduğunda tıklatın.
- 1. jQuery CSS4 seçicilerini destekliyor mu?
- 2. ModelState'i nasıl test edebilirim?
- 3. Kullanılmayan CSS seçicilerini kontrol etmek için araç?
- 4. STDERR'i Test :: More ile nasıl test edebilirim?
- 5. İyonik çerçevedeki CSS seçicilerini kullanarak belirli platformları nasıl yalıtın
- 6. Django URL'lerini nasıl test edebilirim?
- 7. SSIS paketlerimi nasıl test edebilirim?
- 8. MVC Görünümlerini nasıl test edebilirim?
- 9. CanCan'ı konsolda nasıl test edebilirim?
- 10. Fonksiyon çağrılmadığında nasıl test edebilirim?
- 11. Rspec: Yinelemeyi nasıl test edebilirim?
- 12. Geçersiz yöntemleri nasıl test edebilirim?
- 13. FluentMigrator geçişlerimi nasıl test edebilirim?
- 14. HTML öğesinin tamamını JavaScript’te nasıl yazdırılır?
- 15. Xcode Project'i iPhone'da nasıl test edebilirim?
- 16. Django'da boş bir sorgulamayı nasıl test edebilirim?
- 17. Perl'de engellemeden STDIN'i nasıl test edebilirim?
- 18. Salatalıktaki authlogic'in current_user öğesini nasıl test edebilirim?
- 19. Modern sistemdeki arabellek taşmalarını nasıl test edebilirim?
- 20. Stdin ve stdout'u nasıl test edebilirim?
- 21. Android Emulator'da çoklu dokunmayı nasıl test edebilirim?
- 22. Laravel olaylarını nasıl düzgün şekilde test edebilirim?
- 23. DelayedJob'u Salatalık ile nasıl test edebilirim?
- 24. Matrisin köşegen olup olmadığını nasıl test edebilirim?
- 25. Sınama işlemini nasıl test edebilirim: RSpec
- 26. Dart'ta bir fonksiyonun varlığını nasıl test edebilirim?
- 27. RSpec'i kullanarak ActionCable kanallarını nasıl test edebilirim?
- 28. Olayları açısal olarak nasıl test edebilirim?
- 29. Güçlü paramları Rspec ile nasıl test edebilirim?
- 30. Paketim için setup.py'yi nasıl test edebilirim?
[this] (http://lea.verou.me/2011/07/detecting-css-selectors-support-my-jsconf-eu-talk/) blog yazısını okumanızı önerebilirim. sorun ve birkaç çözüm verir. –