Хорошо, то, что я ищу, довольно просто.
У меня есть обработчик кликов для нескольких групп радиостанций. Внутри обработчика я передаю некоторые параметры функциям, ссылки на параметры относятся к набору групп, но их путь одинаков. Итак, у меня в основном есть:
$(document).ready(function(){
$("input[name='radioGroup1']").click(function(){
updateWalletInfo(
$(this).val(),
$(this).parent().parent().find(".cSec .f_class a").text(),
$(this).parent().parent().parent().find(".cSec .flight-time").text(),
$(this).parent().parent().parent().find(".cSec .city").text(),
);
});
$("input[name='radioGroup2']").click(function(){
updateWalletInfo(
$(this).val(),
$(this).parent().parent().find(".cSec .f_class a").text(),
$(this).parent().parent().parent().find(".cSec .flight-time").text(),
$(this).parent().parent().parent().find(".cSec .city").text(),
);
});
});
Что я хочу сделать, это сохранить ссылку на конкретный элемент в $(document).ready()
, поэтому, если я изменю путь, мне не придется менять его в каждом обработчике. Как то, что я после того, как:
$(document).ready(function(){
var value = $(this).val();
var f_class = $(this).parent().parent().find(".cSec .f_class a").text();
var f_time =$(this).parent().parent().parent().find(".cSec .flight-time").text();
var f_city = $(this).parent().parent().parent().find(".cSec .city").text();
$("input[name='radioGroup1']").click(function(){
updateWalletInfo(value,f_class,f_time,f_city);
});
$("input[name='radioGroup2']").click(function(){
updateWalletInfo(value,f_class,f_time,f_city);
});
});
Я знаю, что этот оператор там не будет работать, но я подумал, что это проясняет мою точку зрения. Я даже счастлив, если бы смог удалить избыточность только для .parent().parent().find(".cSec .????").text()
бита.