Селектор класса jQuery - в какой области он по умолчанию? - PullRequest
1 голос
/ 27 сентября 2011

У меня есть вопрос по поводу селектора классов в jQuery.Я смотрю на страницу, которая использует плагин jQuery под названием slidedeck, и у автора страницы есть два <div>, показывающие две разные настройки slidedeck.Вдоль этих строк:

<div id="slidedeck_frame" class="skin-slidedeck"><dl class="slidedeck">
  <!-...HTML in here-->
</div>

<script type="text/javascript">
        $('.slidedeck').slidedeck({
                autoPlay: true,
                cycle: true, 
                autoPlayInterval: 2500, // 2.5 seconds
                hideSpines: true
            });
</script>

<div id="slidedeck_frame" class="skin-slidedeck"><dl class="slidedeck">
  <!-...HTML in here-->
</div>

<script type="text/javascript">
            $('.slidedeck').slidedeck();
</script>

Итак, у вас есть два <div> с одинаковыми идентификаторами и классами CSS для своих детей, но с разными настройками слайд-колоды.

Я бы подумал, что селектор класса jQuery применил бы последний параметр slidedeck к обоим <dl> s, но на самом деле каждый из них использует настройки slidedeck прямо под ними.Я не должен понимать область действия селектора jQuery (вполне вероятно), или здесь возможно что-то еще?

Ответы [ 2 ]

2 голосов
/ 27 сентября 2011

Я не должен понимать область селектора jQuery (вполне вероятно)

Вы неправильно понимаете концепцию идентификаторов.Атрибуты ID должны быть уникальными среди элементов в DOM.Я надеюсь, что это проясняет:)

1 голос
/ 27 сентября 2011

Дублирующиеся идентификаторы недопустимы в HTML. Поведение не определено.

EDIT

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

http://jsfiddle.net/cJ4wp/

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