У меня есть переключатель jQuery, с которым я борюсь. Я могу заставить его переключать видимость нескольких div одновременно, но как только я реализую функцию next(), единственное, что переключается, — это плюс/минус часть скрипта, а не видимость div. Что-нибудь особенное в этом коде?
Это работает, но переключает все div, а не только закрывающий:
jQuery(function(){
jQuery(".toggleText").click(function(){
jQuery(".hiddenText").slideToggle("fast");
jQuery(this).html(function(i,html) {
if (html.indexOf('More') != -1 ){
html = html.replace('More','Less');
} else {
html = html.replace('Less','More');
}
return html;
}).find('img').attr('src',function(i,src){
return (src.indexOf('plus.gif') != -1)? 'minus.gif' :'plus.gif';
});
});
});
Это только переключает больше +/меньше, а не .hiddenText div. (единственная разница в этих двух — добавление next() в третьей строке).
jQuery(function(){
jQuery(".toggleText").click(function(){
jQuery(this).next(".hiddenText").slideToggle("none");
jQuery(this).html(function(i,html) {
if (html.indexOf('More') != -1 ){
html = html.replace('More','Less');
} else {
html = html.replace('Less','More');
}
return html;
}).find('img').attr('src',function(i,src){
return (src.indexOf('plus.gif') != -1)? 'minus.gif' :'plus.gif';
});
});
});
Любые идеи?
PS: я использую jQuery вместо $ из-за конфликта с CMS, в котором живет этот код. в.