Скрыть все элементы кроме указанных JQuery

Как правильно подобрать селектор для скрытия всех элементов кроме элементов с определённым ID?
Имеем блок на страничке с набором элементов у которых заданы, либо не заданы ID.
Например:

<div class="test">
    <div id="test1">test1</div>
    <div id="test2">test2</div>
    <div id="test3">test3</div>
    <div>test no ID</div>
</div>

Нам нужно скрыть все дочерние элементы блока с классом «test», кроме элементов с ID = [test2, test3]. Для выполнения этой задачи, будем использовать возможности удобного JavaScript фреймворка jQuery.

Достаточно правильно подобрать селектор и выполнив метод hide(), наша задача будет решена.
А вот, собственно и само решение:
<div class="test">
    <div id="test1">test1</div>
    <div id="test2">test2</div>
    <div id="test3">test3</div>
</div>
<script type="text/javascript">
    $('.test *[id != "test2"][id != "test3"]').hide();
</script>


Немного поясню:
.test — значит, что мы обращаемся к блоку с классом «test»,
[пробел]* — значит, что мы берём в набор все дочерние элементы блока с классом «test»,
[id != «test2»][id != «test3»] — кроме элементов с ID = «test2» и ID = «test3»

Комментарии (0)

RSS свернуть / развернуть
Только зарегистрированные и авторизованные пользователи могут оставлять комментарии.
comments powered by Disqus