"div1", "div2" ... "divx" kimliğine sahip bazı DIV'leri var. Onlara bir operasyon yapmak istiyorum. Öğe kimliğini almanın herhangi bir yolu var mı "div" içeriyor. Başka bir fikrin var mı?jQuery kullanarak HTML öğesini edinin
cevap
Yukarıdaki harflerle div
ile başlayan bir id
özelliğine sahip tüm div'leri çekecek starts with selector
$("div[id^='div']")
kullanabilirsiniz.
jsFiddle example that makes all divs with id div...
invisible.
Burada bir numara takip
div
eşleştirmek istiyorum ama başka bir şey tarafından takip değil
div
eğer hileli durumda ne var. Yani
div1
eşleşir, ancak
divx
olmaz.
Bu durumda filter() işlevini bir işlevle kullanırız. Bir eşleşme istediğimiz zaman işlev, doğru olmadıkça yanlıştır. Bu durumda id
yılında,
$("div").filter(function() {
return $(this).attr("id").match(/^div[\d]+$/)
})
attr() belirtilen özelliğin değerini döndürür: Bu (bir regex bir rakam veya daha basit [\d]
temsil etmek [0-9]
kullanabilirsiniz) için match() ve regex harika.
Bunu kullanabilir (Ben olsa test etmedim):
jQuery("div[id^='div']")
Bu id
"div" ile başlayan olan tüm div
unsurları alacak. Eğer "div" içeren bir id
, o zaman bu kullanabilirsiniz olan tüm div
unsurları isteseydim
: div1, DIV2 gibi kimlikleri kullanarak
jQuery("div[id*='div']")
, DIV3 kötü bir uygulamadır. Sınıflarınıza "black-bold-12px" adını vermek ve daha sonra bu stilleri bu sınıfa atamak gibi bir şey. Anlambilimdeki noktayı özlüyor.
Bunu yapmanın doğru yolu, hepsi için bir sınıf kullanıyor olabilir.
<div class="something usethis">...</div>
<div class="usethis something_else">...</div>
<div class="usethis">...</div>
<div class="something anotherclass usethis" id="someId">...</div>
<script>
$(".usethis").html("New contents for all of them!");
</script>
Diğer cevaplar soruya cevap veriyor, ancak bu RIGHT cevabı –
Eğer bir dizi mesajınız varsa, 'post-1',' post-23' gibi kimliklere sahip iseniz, numaranın benzersiz bir evrensel mesaj tanımlayıcısı olduğu yerlerde. gayet meşru ve semantik olarak bilgilendirici görünüyor ... Ama evet, mümkün olduğunda iyi düşünülmüş sınıflarla çalışmak kesinlikle daha kolay.---- Ancak, semantik olarak iyi oluşturulmuş sayfalardan bahsetmişken, dış Javascript,
Peter mükemmel cevabı en tamamen doğru, ancak * En iyi * yapılacak şey "mydivs" sınıfını ekleyin ya da her ne:
Elemanları ayırıcı olarak boşluk kullanarak, birden fazla sınıfın olabilir (bu HTML'de) tüm bu div'lere, bunları sınıflara göre seçebilirsiniz. Bu yüzden sınıflar var, grup gibi öğeler. :) –