Селектор JQuery - #ElementId не работает, просто ElementId в порядке - PullRequest
0 голосов
/ 02 марта 2012

У меня есть некоторые проблемы с отображением div, который я прячу.По какой-то причине селектор #ElementId не работает, но если я просто использую ElementId, он работает.

Jquery 1.7.1 также я использую интерфейс JQuery.

$('CreateGroup').show("fold"); // this works fine
$('#CreateGroup').show("fold"); // this fails with cannot call show on undefined

 <div id="CreateGroup" style="display: none">Hi!</div>

Что происходит?

Спасибо

Ответы [ 3 ]

1 голос
/ 02 марта 2012

Вы уверены, что элемент уже создан при вызове функции?

попробуйте выполнить его, чтобы он работал после того, как DOM будет готов:

$(window).ready(function() {
 $('#CreateGroup').show("fold");
});

Дополнительная информация:

.ready ()

0 голосов
/ 08 марта 2012

@ Пирси, скорее всего ваша функция $ () исходит от Prototype, а не от jQuery.Включаете ли вы обе библиотеки на своей странице?- Фредерик Хамиди 2 марта в 12: 21

Это было правильно, это было вмешательство прототипа.Если я использую полностью классификатор jQuery, он работает.

0 голосов
/ 02 марта 2012

Оба должны потерпеть неудачу.

Ваш код невозможен, так как вы не используете событие document.load (иначе $(function(){}); иначе $('document').ready().

Узел еще не был определен при вызове скрипта.

Это будет работать, однако:

<div id="CreateGroup" style="display: none">Hi!</div>
<script type="text/javascript">$('#CreateGroup').show("fold");</script>

Поскольку он вызывается ПОСЛЕ определения узла.

Вам не о чем беспокоиться, если вы используете упомянутые методы загрузки.

<script type="text/javascript">
    $(function() {
        $('#CreateGroup').show("fold"); 
    });
</script>

<div id="CreateGroup" style="display: none">Hi!</div>

Это будет работать, поскольку сценарий не выполняется до тех пор, пока весь документ не будет загружен.

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