Öncelikle, sizin Örnek haklı, ikincisi, çoğu insan bunu böyle yapardı. Anahtar kelime yok, sadece yönü ters çeviriyor ve DOM'u en olası ebeveyn için geçiyor (zaten bulduğunuzdan beri aptalca oluyor, değil mi?). Bu durumda, diğer yanıtlayanlar closest
'u nasıl kullanacaklarını doğru göstermiş olsalar bile, bir ara değişken öneririm. (Ayrıca, bir <form>
içinde <form>
geçersiz HTML olduğunu, biraz da teknik bir dayanmaktadır. Hiçbir çocuğu öbür tarafa etmediğini bir <div>
gibi şeyler için garanti yok sonraki <a>
arayan <div>
s.)
$("#parent").something(function() {
var _this = this;
// var self = this;
// var that = this;
// var someMoreMeaningfulName = this;
$("#child", this).somethingElse(function() {
$(_this).somethingEvenElser();
...
});
});
Okuması güzel şey değil, ama desen kolayca tanınabilir var kadar sık görülmektedir:
jQuery olarak böyle bir sürü bakın. _this
(alt çizgi özel değişkenleri imalatabilir), self
(aslında değil), vb. Gibi şeyler yerine (var form
) ne yaptığınızı tavsiye ederim
Bu sadece "biçim" değil midir? – Femi
"$ ('a', this) .click (function() {$ (this) .closest ('form') .spot();}) kullanamazsınız. özlü/özel cevap? –