Javascript-форум (https://javascript.ru/forum/)
-   jQuery (https://javascript.ru/forum/jquery/)
-   -   Проверка наличия класса на странице (https://javascript.ru/forum/jquery/43147-proverka-nalichiya-klassa-na-stranice.html)

milanac 24.11.2013 16:07

Проверка наличия класса на странице
 
Здравствуйте, помогите новичку найти ошибку пожалуйста. есть простой неработающий скрипт

jQuery(document).ready(function(){
if ( jQuery('body').hasClass('pic') ) {
jQuery(".footer_but_show").css('display', 'block');
} else {
jQuery(".footer_but_show").css('display', 'none');
}});

т.е при появлении на странице блока с классом pic, блок с классом footer_but_show (изначально скрытый) должен появится)

если нужно, то блок с классом pic появляется за счет такого работающего скрипта
jQuery(document).ready(function(){
jQuery(".pic_all").click(function(){
jQuery(this).children().toggleClass('pic');
});
});

ruslan_mart 24.11.2013 16:12

jQuery(function($) {
   $('.pic_all').click(function() {
      var self = $(this).children();
      $(self, '.footer_but_show').css('display', self.hasClass('pic') ? 'none' : 'block');
   });
});

milanac 24.11.2013 16:43

спасибо, но не работает всеравно(

Gera 24.11.2013 17:36

Может так:
jQuery(function($) {
   $('.pic_all').on('click', function() {
      var self = $(this).children();
      $(self, '.footer_but_show').css('display', self.hasClass('pic') ? 'none' : 'block');
   });
});

milanac 24.11.2013 17:47

jQuery(document).ready(function(){
jQuery(".pic_all").click(function(){
jQuery(this).children().toggleClass('pic');
if(jQuery('.pic').length) jQuery('.footer_but_show').css('display', 'block');
});
});

вот так работает, но не совсем правильно.
появляется класс pic - появляется скрытый блок.
но когда убирается класс pic - скрытый блок не исчезает(а должен)

milanac 24.11.2013 17:53

jQuery(document).ready(function(){
jQuery(".pic_all").click(function(){
jQuery(this).children().toggleClass('pic');
if(jQuery('.pic').length)
jQuery('.footer_but_show').css('display', 'block');
else
jQuery('.footer_but_show').css('display', 'none');
});
});

все, добавил условие, заработало, спасибо отписавшимся)


Часовой пояс GMT +3, время: 20:59.