Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 11.05.2011, 00:03
Интересующийся
Отправить личное сообщение для oleg666 Посмотреть профиль Найти все сообщения от oleg666
 
Регистрация: 11.05.2011
Сообщений: 29

скрыть отобразить параграф
Разбираю простую задачу из книжного примера, но этом виде не работает.

<script>
$(":button").click(function(){
    $("p:first").toggle();
});
</script>  

<p>Абзац</p>
<input type="button" value="скрыть">


не пойму в чем ошибка
Ответить с цитированием
  #2 (permalink)  
Старый 11.05.2011, 00:12
Профессор
Отправить личное сообщение для Sweet Посмотреть профиль Найти все сообщения от Sweet
 
Регистрация: 16.03.2010
Сообщений: 1,618

А в книжне про функцию ready не писАли???
Ответить с цитированием
  #3 (permalink)  
Старый 11.05.2011, 00:30
Аватар для Starkua
Аспирант
Отправить личное сообщение для Starkua Посмотреть профиль Найти все сообщения от Starkua
 
Регистрация: 10.02.2010
Сообщений: 52

Джаваскрипт код, браузер видит раньше, чем DOM-элемент (т.к. он выше, в файле). Поэтому при его выполнении, селектор $("p:first") не может найти нужный инпут.
Ответить с цитированием
  #4 (permalink)  
Старый 11.05.2011, 08:54
Интересующийся
Отправить личное сообщение для oleg666 Посмотреть профиль Найти все сообщения от oleg666
 
Регистрация: 11.05.2011
Сообщений: 29

то есть ставлю DOM элемент выше скрипта. А про функцию ready действительно ничего нет
Ответить с цитированием
  #5 (permalink)  
Старый 11.05.2011, 10:49
Аватар для Starkua
Аспирант
Отправить личное сообщение для Starkua Посмотреть профиль Найти все сообщения от Starkua
 
Регистрация: 10.02.2010
Сообщений: 52

Нет, я просто объяснил причину, почему не работает.
Скрипты обычно нужно запускать, после загрузки DOM-дерева, для этого в jQuery есть метод ready.
Ответить с цитированием
  #6 (permalink)  
Старый 11.05.2011, 11:02
Профессор
Отправить личное сообщение для Sweet Посмотреть профиль Найти все сообщения от Sweet
 
Регистрация: 16.03.2010
Сообщений: 1,618

Ready
Ответить с цитированием
  #7 (permalink)  
Старый 11.05.2011, 17:47
Человек
Отправить личное сообщение для 0931454574 Посмотреть профиль Найти все сообщения от 0931454574
 
Регистрация: 10.03.2011
Сообщений: 305

$(document).ready(function()
{
   $("#button").click(function()
   {
       $("p:first").toggle();
   });
 
 
  
});


Вот так работает)
Только лучше использовать id для таких целей и вообще. Это хороший стиль.
__________________
XYZ
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
скрыть из исходного кода часть javascript кода. javasc Javascript под браузер 10 12.03.2014 09:32
Скрыть ссылку на js Googert Общие вопросы Javascript 10 21.02.2012 17:29
Как скрыть панель в TabPanel br102 ExtJS 1 01.02.2011 18:05
отобразить c image/jpeg, полученным через xmlhttprequest devcoder AJAX и COMET 6 07.04.2010 23:46
отобразить рисунок сверху вниз zerg Общие вопросы Javascript 2 10.03.2009 16:14