2015-06-02 4 views
0

Я начал с JQuery, я пытался создать простую функцию для определения, если щелкнуть, скрыть один div и показать другой div.Функция класса click show/hide

мой код был:

jQuery(document).ready(function() { 
    jQuery('#dots').on('click', function() { 
    jQuery('#truncated_full_value').show(); 
    }); 
    jQuery('#dots').on('click', function() { 
    jQuery('#text-before-truncate').hide(); 
    }); 
}); 

И HTML был:

<dd class="truncated"> 
     <div class="text-before-truncate"> 
     <a href="#" class="dots" onclick"return flase"> ... </a> 
     </div> 

    <div class="truncated_full_value"> 
     <dt>Opties</dt> 
    </div> 
    </dd> 

Что я делаю неправильно?

ответ

1

Вы должны использовать . как селектор класса

jQuery(document).ready(function() { 
jQuery('.dots').on('click', function() { 
    jQuery('.truncated_full_value').show(); 
    jQuery('.text-before-truncate').hide(); 
    }); 
}); 

# является селектор идентификатора. Кроме того, вам не нужно прикреплять их в двух отдельных обработчиках. Вы можете поместить оба шоу/скрыть в один и тот же обработчик.

+1

Вы можете объединить их в едином обработчик событий – Satpal

+0

Святых .. Я был действительно немым ... Спасибо всем. – ntzz

1

Вы можете комбинировать обработчики событий для обоих:

jQuery('.dots').on('click', function() { 
    jQuery('.truncated_full_value').show(); 
    jQuery('.text-before-truncate').hide(); 
}); 

Если вы хотите toggle:

jQuery('.dots').on('click', function() { 
    jQuery('.truncated_full_value, .text-before-truncate').toggle(); 
}); 
+1

Нет элемента с id 'dots' – Satpal

+0

Почему два вызова' toggle'? Вы можете объединить оба селектора во втором случае. –

+0

@ Satpal Не видел этого. Благодаря! Обновленный ответ – Tushar

0

использование ниже кода. вам не нужно писать отдельные события для одного элемента. сочетать как одно событие.

В вашем HTML не существует элемента с идентификатором dots. вам нужно использовать . селектор класса как .dots

jQuery(document).ready(function() { 

    jQuery('.dots').on('click', function() { 
    jQuery('#truncated_full_value').show(); 
    jQuery('#text-before-truncate').hide(); 
    }); 

}); 
0

У всех вас есть класс селекторы использовать «.» префикса вместо «» #

jQuery(document).ready(function() { 
    jQuery('.dots').on('click', function() { 
    if(jQuery('.truncated_full_value').is(':visible')){ 
     jQuery('.truncated_full_value').hide(); 
     jQuery('.text-before-truncate').show(); 
    } 
    else{ 
     jQuery('.truncated_full_value').show(); 
     jQuery('.text-before-truncate').hide(); 
    } 
    }); 
}); 
Смежные вопросы