Помогите jQuery plus прототип - PullRequest
0 голосов
/ 28 марта 2011

Я получаю следующее сообщение об ошибке:

When I called jQuery(...) with your args, an error was thrown!
TypeError: $("#contest-navigation ul li") is null

Однако в консоли, если я наберу:

jQuery("#contest-navigation ul li");

Я получаю ненулевое сообщение (единственное, что я вижу: «Вы использовали один и тот же селектор более одного раза», что имеет смысл, поскольку это неупорядоченный список).

Я думаю, что это на самом деле, потому что я использую прототип (ну, человек до меня) с jQuery, но я не уверен, как решить эту проблему. Я знаю, что когда я беру ссылку на библиотеку прототипов, мой код jQuery работает правильно ...

HTML:

<div id="contest-navigation">
<ul>
    <li><a><span>About</span</a></li>
    <li><a><span>Enter</span</a></li>
    <li><a><span>Rules</span</a></li>
    <li><a><span>Prizes</span</a></li>
    <li><a><span>FAQ</span</a></li>
</ul>
</div>

Вот мой полный код (tab-rollover.js):

jQuery(function() {
    jQuery('#contest-navigation ul li').hover(function() {
        jQuery(this).addClass('hover');
    }, function() {
        jQuery(this).removeClass('hover');
    });

    jQuery('#contest-navigation ul li').click(function() {
        jQuery('#parents-subnav ul li').removeClass('selected');        
        jQuery(this).addClass('selected');
    });

});

Ответы [ 2 ]

2 голосов
/ 28 марта 2011

Убедитесь, что ваш код находится внутри блока ready.

1 голос
/ 28 марта 2011

Единственное, о чем я могу думать, это то, что $("#contest-navigation ul li") вызывается до того, как он существует в документе. Можете ли вы убедиться, что это происходит после загрузки документа?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...