Javascript-форум (https://javascript.ru/forum/)
-   jQuery (https://javascript.ru/forum/jquery/)
-   -   Ошибка Cannot read property 'hide' of null (https://javascript.ru/forum/jquery/63218-oshibka-cannot-read-property-%27hide%27-null.html)

strify_25 24.05.2016 13:23

Ошибка Cannot read property 'hide' of null
 
код должен скрывать контент и открывать при клике на заголовок, но появляется эта ошибка:
Cannot read property 'hide' of null
$(document).ready(function(){
$(".spisok").hide();
$("p span").click(function(){
$(this).parent().next().slideToggle();
});
});

<div class="tseny">
<h2><span>заголовок</span></h2>
<div class="spisok">
  Контент
</div>


На компьютере все работает - на сайте нет. Пробовал вставлять код до элемента и после, обращаться по ид и по классу, менять версию jquery

Dilettante_Pro 24.05.2016 13:34

strify_25,
$("p span").click(function(){
- что такое p

Dilettante_Pro 24.05.2016 13:37

<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.0/jquery.min.js"></script>
<script>
$(document).ready(function(){
$(".spisok").hide();
$("span").click(function(){
$(this).parent().next().slideToggle();
});
});
</script>
<div class="tseny">
<h2><span>заголовок</span></h2>
<div class="spisok">
  Контент
</div>

strify_25 24.05.2016 13:43

Да, так работает. Исправил ошибку с р, однако проблему это не решило - на сайте все равно контент не скрывается

Alex_63 24.05.2016 13:58

strify_25,
А так ?
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.0/jquery.min.js"></script>
<script>
window.onload = function(){
  $(".spisok").hide();
  $("span").click(function(){
    $(this).parent().next().slideToggle();
  });
};
</script>
<div class="tseny">
<h2><span>заголовок</span></h2>
<div class="spisok">
  Контент
</div>

strify_25 24.05.2016 14:31

Тоже нет... Может это конфликт каких-либо скриптов?

Dilettante_Pro 24.05.2016 14:35

strify_25,
Может быть. Вообще-то у вас сайт выдает много всяких ошибок.
Насчет конфликтов - посмотрите
http://javascript.ru/forum/misc/6320...oconflict.html

Dilettante_Pro 24.05.2016 14:40

strify_25,
Вариант для эксперимента:
Оставить скрипт где есть, убрать оболочку
$("document").ready(function(){ });

Alex_63 24.05.2016 17:41

strify_25,
А так:
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.0/jquery.min.js"></script>
<script>
$(function(){
    $(".spisok").css("display","none");
    $("span").click(function(){
        $(this).parent().next().slideToggle();
    });
});
</script>
<div class="tseny">
<h2><span>заголовок</span></h2>
<div class="spisok">
  Контент
</div>

Rise 24.05.2016 17:51

strify_25, у тебя там jquery лишний был... один 11 другой 12 версии надо один убрать... может и третий найдется если хорошо поискать)


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