2010-03-02 12 views

उत्तर

29

आप up विधि का उपयोग कर सकते हैं। यह काफी समतुल्य नहीं है, क्योंकि closest वर्तमान तत्व को भी मानता है। तो आप का उपयोग करता है, तो यह आपके मापदंड से मेल खाने को देखने के लिए, अगर ऐसा नहीं होता है पहली बार अपने चयनित तत्व का परीक्षण करने की आवश्यकता होगी, up -method:

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

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

तुलना:

.closest()

  • जब तक यह आपूर्ति चयनकर्ता के लिए एक मैच पाता वर्तमान तत्व
  • ऊपर डोम पेड़ यात्रा के साथ शुरू होता है
  • ,210
  • रिटर्न कि शून्य या एक तत्व

.up() शामिल हैं एक jQuery वस्तु

  • पेरेंट तत्व के साथ शुरू होता है
  • ट्रेवल्स ऊपर डोम पेड़ जब तक यह के लिए एक मैच पाता है आपूर्ति चयनकर्ता
  • रिटर्न एक विस्तारित तत्व वस्तु, या अपरिभाषित अगर यह मेल नहीं खाता

आप इस विधि को सभी तत्वों के लिए आसानी से प्रोटोटाइप का विस्तार कर सकते हैं:

// 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') या .next('divId')

भी .previous(), .down() और .up(), तुम कहाँ देख रहे हैं पर निर्भर करता है नहीं है।

संबंधित मुद्दे