jQuery () bir ekleme 'Dürbünlü' yapmanın bir yolu var mı?

oy
1

Ana jQuery yöntemi arama için bağlam temin etmek üzere, ikinci bir isteğe bağlı argüman alır. Örneğin

$(.setA, ancestorOfSetsA);

Ancak jQuery add()yöntem bu bağlam argüman kabul etmez. Ne başarmaya çalışıyorum geçerli:

$(.setA, ancestorOfSetsA).add(.setB, ancestorOfSetsB);

Ben aşırı bir eklenti aracılığıyla bu çalışılıyor add()yöntemi ama bir jQuery nesnesine iki jQuery nesneleri birleştirmek anlamaya olamaz.

Ben kapsamlı bir yapmak için bir yol bulmak istiyoruz add()jQuery ile ama jQuery nesnelere birleştirmek için bir yol bulabilirsek bu olmazsa, birini kendim yazacağım.

Oluştur 09/12/2008 saat 20:39
kaynak kullanıcı
Diğer dillerde...                            


1 cevaplar

oy
2

Sen içine jQuery koleksiyonunu geçebilir addsadece yanısıra seçici dizesine:

$(".setA", ancestorOfSetsA).add( $(".setB", ancestorOfSetsB) );

Eğer aşırı istiyorsanız addo zaman onun davranışının tüm desteklemek için dikkatli olmak gerekir. Birisi (kullandığınız olabilecek bir eklenti) Bu yapabilir:

$( selector ).add('<div>new element</div>').appendTo( somethere );

Güncellenmiş:

İşte bir bağlam parametresi alması modifiye jQuery güncel eklenti fonksiyonudur:

jQuery.fn.add = function( selector, context ) {
    return this.pushStack( jQuery.unique( jQuery.merge(
        this.get(),
        typeof selector == 'string' ?
            jQuery( selector, context ) :
            jQuery.makeArray( selector )
    )));
}
Cevap 09/12/2008 saat 21:53
kaynak kullanıcı

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more