2010-03-02 18 views

cevap

29

up yöntemini kullanabilirsiniz. closest, mevcut öğeyi de göz önüne aldığından oldukça eşdeğer değildir.

jQuery: 
return $('#id').closest('li'); 

Prototype: 
var element = $('id') 
return element.match('li') ? element : element.up('li'); 
} 

Karşılaştırma::

.closest()

Yani kullanmak, bu koşulları sağlaması durumunda bunları yapmazsa, görmek için ilk seçtiğiniz elemanı test etmek up kullanılan yöntem gerekir o sağlanan seçici için bir eşleşme bulursa kadar
  • akım elemanı DOM ağacının kadar
  • Travels ile başlar
  • .210
  • döndürür

    • üst eleman ile başlar sıfır ya da bir elemanı

    .up() içeren bir jQuery nesnesi

  • bunun için bir eşleşme bulunana kadar DOM ağacı kadar ilerlemektedir o aynı değilse sağlanan seçici
  • uzatılmış Eleman nesnesi döndürür veya tanımsız

Prototip, bu yöntemi aşağıdaki gibi tüm öğeler için içerecek şekilde kolayca genişletebilirsiniz:

// Adds a closest-method (equivalent to the jQuery method) to all 
// extended Prototype DOM elements 
Element.addMethods({ 
    closest: function closest (element, cssRule) { 
     var $element = $(element); 
     // Return if we don't find an element to work with. 
     if(!$element) { 
     return; 
     } 
     return $element.match(cssRule) ? $element : $element.up(cssRule); 
    } 
}); 
2

.next('.className') veya .next('divId')

da nereye aradığınız bağlı .previous(), .down() ve .up() vardır.

İlgili konular