@v-grabko

Что не так с этим js?

function anichange(objName) {
                if ($(objName).css('display') == 'none') {
                    $(objName).animate({height: 'show'}, 400);
                } else {
                    $(objName).animate({height: 'hide'}, 200);
                }
            }
            function fatalError(msg, report) {
                msg = "<div class='message padd_top_10 padd_bot_10 red'><p>"+msg+"<br>Отчёт об ошибке<br><a href='#' onclick='anichange('#divId');return false;'>Открыть/Закрыть</a><div id='divId' style='display: none'>"+report+"</div></p></div>";
                document.getElementById('FatalError').innerHTML = msg;
            }


При клике по "Открыть/Закрыть" в консоли SyntaxError: expected expression, got end of script
registe...tIPoI=# (строка 1, столбец 10)

Но если этот код напрямую пихнуть в div то всё ок.
Код взял здесь vlvit.ru/jquery/raskrivayushiiesya-konteiener-div-...
  • Вопрос задан
  • 1108 просмотров
Решения вопроса 2
@v-grabko Автор вопроса
№;№";;%№%:;№
возле onclick= необходимо было удалить кавычки
Ответ написан
Комментировать
Stalker_RED
@Stalker_RED
В оригинале
<a href="#" onclick="anichange('#divId'); return false">

А у вас
<a href='#' onclick='anichange('#divId'); return false'>


В результате у вас аттрибут onclick получился таким: onclick='anichange('

А удалить кавычки вообще это конечно сильный ход, но я боюсь, что после этого отвалится return false

Почитайте про экранирование, что-ли. https://learn.javascript.ru/string

А правильный вариант выглядит примерно так:
msg = '<div class="message padd_top_10 padd_bot_10 red"><p>'
            + msg + '<br>'
            +'Отчёт об ошибке<br>'
            +'<a href="#" onclick="anichange(\'#divId\');return false;">Открыть/Закрыть</a>'
            +'<div id="divId" style="display: none"">' + report + '</div>'
        +'</p></div>';
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы