JQuery начинается с селектора - PullRequest
1 голос
/ 21 июня 2011

Вот мой код:

<script type="text/javascript">
    $(document).ready(function () {
        $("[class^=\"hide\"]").hide();
    });
</script>

<div class="hide1">Hide</div>
<div class="show1">Show</div>
<div class="hide2">Hide</div>
<div class="show2">Show</div>
<div class="hide3">Hide</div>
<div class="show3">Show</div>
<div class="hide4">Hide</div>
<div class="show4">Show</div>

Но при загрузке страницы div hide все еще видны ... что я делаю неправильно?

Ответы [ 6 ]

2 голосов
/ 21 июня 2011

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

Так получается, что я все делал правильно, но div s были в виде (Я использую MVC3), который загружался после вызова $(document).ready.Перемещение кода в View решило проблему.

1 голос
/ 21 июня 2011

Почему у вас есть отдельные классы для них? Почему бы не иметь один класс скрытия и установить эти атрибуты выше (например, "hide1") в качестве идентификаторов, тогда ваш селектор может просто находиться в этом классе, например $('div.hide')

См. http://jsfiddle.net/2GzpA/1/ для примера.

EDIT:
На ваш вопрос вы прокомментируете:

@ Tomgrohl, мой код на самом деле намного сложнее. Мне нужно уметь скрывать и показывать каждый элемент отдельно.

Почему бы не добавить отдельный класс для использования в этом случае? Тогда ваш селектор станет $('div.specificCaseHideClass'). Вы можете иметь столько классов, сколько захотите, и это прекрасный пример того, когда нужно добавить один класс.

0 голосов
/ 21 июня 2011

Вы можете сделать:

$(document).ready(function () {
    $("div[class*=hide]").hide();
});
0 голосов
/ 21 июня 2011

отключает внешние кавычки одинарными кавычками, и это работает:

рабочая скрипка: http://jsfiddle.net/geertvdc/hv4Ls/

код:

$('[class^="hide"]').hide();
0 голосов
/ 21 июня 2011

Вы уверены, что JQuery включен? Это похоже на работу: http://jsfiddle.net/6ycbT/

Кроме того, проверьте консоль js, чтобы увидеть, появляются ли какие-либо ошибки, которые могут помешать выполнению этого кода

0 голосов
/ 21 июня 2011

попробуйте это просто

$("div:even").hide();
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...