. $ ( «# ID») HTML (вар); не печатает значение. Почему?

0

Я пытаюсь напечатать следующий и предыдущий месяц динамически в div, щелкнув следующую и предыдущую ссылки. Хотя значение генерируется правильно, но значение не печатается в <div id="month"></div>. Где я ошибаюсь. Я использую $("#month").html(curmonthYear);

<html>
    <head>
        <script type="text/javascript">
            var month = ["January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December"];

                var cur_dat = new Date();
                var curYear = cur_dat.getFullYear();
                var curMonth = cur_dat.getMonth();
                var curMonthYear = month[cur_dat.getMonth()] + ", " + cur_dat.getFullYear();
            function monthNav(nav) {

                if(nav == 'prev') {

                    var newMonth = cur_dat.getMonth() - 1;
                    var newYear = cur_dat.getFullYear();
                    if(newMonth < 0) {
                        newMonth = 11;
                        newYear -= 1;
                    }

                    cur_dat.setMonth(newMonth);
                    cur_dat.setFullYear(newYear);
                    curMonthYear = month[newMonth] + ", " + newYear;
                    alert(curMonthYear); // gives correct date
                    $("#month").html(curMonthYear); // but doesn't prints here.
                    //alert("Prev");


                } else {

                    var newMonth = cur_dat.getMonth() + 1;
                    var newYear = cur_dat.getFullYear();
                    if(newMonth > 11) {
                        newMonth = 0;
                        newYear += 1;
                    }

                    if(newYear == curYear && newMonth > curMonth) {
                        return false;
                    }
                    cur_dat.setMonth(newMonth);
                    cur_dat.setFullYear(newYear);
                    curMonthYear = month[newMonth] + ", " + newYear;
                    alert(curMonthYear); // gives correct date
                    $("#month").html(curMonthYear); // but doesn't prints.

                }

            }

        </script>
    </head>
    <body>
        <a href="#" onclick="monthNav('prev')">Prev</a>
        <div id="month">abc</div>
        <a href="#" onclick="monthNav('next')">Next</a>
    </body>
</html>
  • 0
    Ваш код работает нормально ... -_-.
  • 0
    Он печатает дату внутри div?
Показать ещё 2 комментария
Теги:

3 ответа

3
Лучший ответ

Вы используете jQuery ($), но не включаете jquery js в свой код.

Либо включают jquery (из cdn или вашу собственную локальную копию), например:

<script src="http://codeorigin.jquery.com/jquery-1.10.2.min.js"></script>

ИЛИ используйте собственный селектор dom:

document.querySelector("#month").innerHTML = curMonthYear;

3

Если вы находитесь в jQuery, вы должны добавить его как библиотеку в <head> перед тем, как использовать код <script> например.

<script src="http://code.jquery.com/jquery-1.10.2.min.js"></script>
1
document.getElementById( 'month' ).innerHTML = curMonthYear;

Ещё вопросы

Сообщество Overcoder
Наверх
Меню