Soru jQuery seçiciler: iki öğeyi ve aradaki tüm öğeleri seçin


Bir UL içinde bir LI yüküm var ve her birinin kendine özgü bir kimliği var.

İki kimlik verildiğinde, ilgili iki YG'yi seçmenin en iyi yolu nedir? ve aradaki bütün Lİ'ler?

Teşekkürler!


25
2018-04-23 12:01


Menşei




Cevaplar:


http://api.jquery.com/nextUntil/

Bir dizi DOM öğesini temsil eden bir seçici ifadesi verildiğinde, .nextUntil() yöntem, DOM ağacındaki bu öğelerin ardılları arasından arama yapar, yöntemin argümanıyla eşleşen bir öğeye ulaştığında durur. Döndürülmüş olan yeni jQuery nesnesi, aşağıdaki tüm kardeşleri içerir; .nextUntil() argüman.

Seçici eşleşmediyse veya temin edilmediyse, aşağıdaki tüm kardeşler seçilecektir; bu gibi durumlarda aynı elemanları seçer .nextAll() Hiçbir filtre seçici sağlanmadığında yöntemi yapar.

JQuery 1.6'dan itibarenBir seçici yerine bir DOM düğümü veya jQuery nesnesi .nextUntil() yöntem.

Yöntem, isteğe bağlı olarak ikinci argümanı için bir seçici ifadeyi kabul eder. Bu argüman sağlanırsa, elemanlar eşleşip eşleşmediklerini test ederek filtrelenir.


17
2018-04-23 12:05



nextUntil, OP'nin gerektirdiği gibi ilk ve son öğeleri dikkate almaz. - miguelcobain


Bunu böyle yapabilirsin:

$('#id').nextUntil('#id2').andSelf().add('#id2')

Bunu not etmek önemlidir .nextUntil() yapar değil oraya kadar olan öğeyi dahil et, ondan önceki ile durur. Bu elemanı eklemek için aramanız gerekiyor .add(selector) sonunda.

Ayrıca bir .andSelf() dahil etmek ilk eleman

Ağustos 2017'yi güncelle

jQuery yöntemi .andSelf() şimdi jQuery 1.8+ kullanımdan kaldırıldı, kullanım .addBack() ilk seçimi geri eklemek yerine. Ayrıca,.prevUntil() son öğe (# id2), seçimdeki ilk öğeyi (# id1) değiştirirse kullanılabilir. Karşılaştırmak.index() her iki öğe için de belgede sıralarını belirleme.


42
2018-04-23 12:08



+ .addSelf () yapacak. - jAndy
@jAndy - .addSelf() orijinal kimliğini içerir, bitiş öğesini değil, yine de ihtiyacınız var .add() bitiş kimliği için - Nick Craver♦
@Nick: Tam olarak istediği budur. - jAndy
Eğer varsa 1, 2, 3, 4, li var ise .add(), 4 dahil edilmeyecek, .nextUntil() kapsayıcı değildir. Belgelerden: "Döndürülmüş olan yeni jQuery nesnesi, aşağıdaki tüm kardeşleri içerir. .nextUntil() Seçici." - Nick Craver♦
Bu sadece #id # id2'den önce geldiğinde çalışır. Daha fazla burada - Dziamid


UL Arasındaki Tüm LI'ları seçmek için

 $(document).ready(function(){
            $("li[ID*=ids]").css("bacground-color","red");// contian common world ex ids1
    });

-6
2018-04-23 12:08



Bu hepsini seçer <li> bir ile id ihtiva eden ids... bu hiç soruya cevap vermiyor. - Nick Craver♦
Düşündüm de, bu sabah gördüğüm diğer cevaplara dayanarak ... soruları biraz daha iyi okumalısın, konu dışı ya da tamamen yanlış cevap nadiren yardımcı oluyor - Nick Craver♦