Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 30.07.2010, 11:28
Кандидат Javascript-наук
Отправить личное сообщение для jetli13 Посмотреть профиль Найти все сообщения от jetli13
 
Регистрация: 25.11.2009
Сообщений: 109

выборка элементов
Подскажите пожалуйста
как выбрать все элементы у которых display = none
Пробовал :hidden выбирает только те у которых visibility = hidden
Ответить с цитированием
  #2 (permalink)  
Старый 30.07.2010, 11:30
Отправить личное сообщение для Octane Посмотреть профиль Найти все сообщения от Octane  
Регистрация: 09.07.2008
Сообщений: 3,873

Расскажите, что вы хотите сделать, может быть предложим другой вариант решения, а не поиск элементов по CSS-свойствам.

Ну а вообще как-то так должно работать:

$("*").filter(function () {
    return $(this).css("display") == "none";
});

Последний раз редактировалось Octane, 30.07.2010 в 11:34.
Ответить с цитированием
  #3 (permalink)  
Старый 30.07.2010, 11:35
Кандидат Javascript-наук
Отправить личное сообщение для jetli13 Посмотреть профиль Найти все сообщения от jetli13
 
Регистрация: 25.11.2009
Сообщений: 109

задача - подсветка слов в тексте
пользователь ввел слово, мне его нужно найти в тексте и подсветить. Но я не должен находить слова которые внутри скрытых блоков.
Поэтому я хочу найти все скрытые блоки для того чтоб в дальнейшем не подсвечивать внутри них.
Ответить с цитированием
  #4 (permalink)  
Старый 30.07.2010, 11:40
Отправить личное сообщение для Octane Посмотреть профиль Найти все сообщения от Octane  
Регистрация: 09.07.2008
Сообщений: 3,873

А не лучше ли скрывать блоки при помощи CSS-класса?
.hidden { display: nonde; }

<div class="text hidden">…</div>

Например, покажем все блоки .text:
$(".text").removeClass("hidden")

Снова скроем:
$(".text").addClass("hidden")

Ну и найти скрытые блоки теперь совсем не сложно.
Ответить с цитированием
  #5 (permalink)  
Старый 30.07.2010, 11:42
Кандидат Javascript-наук
Отправить личное сообщение для jetli13 Посмотреть профиль Найти все сообщения от jetli13
 
Регистрация: 25.11.2009
Сообщений: 109

К сожалению тексты ко мне уже приходят такими какие они есть. По классу конечно было бы лучше.

Но вот этот вариант думаю вполне подойдет

Сообщение от Octane Посмотреть сообщение

$("*").filter(function () {
    return $(this).css("display") == "none";
});
Спасибо!
Ответить с цитированием
  #6 (permalink)  
Старый 30.07.2010, 11:43
Новичок на форуме
Отправить личное сообщение для Kolyaj Посмотреть профиль Найти все сообщения от Kolyaj
 
Регистрация: 19.02.2008
Сообщений: 9,177

Сообщение от jetli13
Но я не должен находить слова которые внутри скрытых блоков.
А кто сказал, что скрытый -- это display: none? Это может быть и упомянутый уже visibility: hidden, и top: -9999px, и left: -9999px, и opacity: 0, и под каким-нибудь слоем лежать.
Ответить с цитированием
  #7 (permalink)  
Старый 30.07.2010, 11:48
Кандидат Javascript-наук
Отправить личное сообщение для jetli13 Посмотреть профиль Найти все сообщения от jetli13
 
Регистрация: 25.11.2009
Сообщений: 109

Сообщение от Kolyaj Посмотреть сообщение
А кто сказал, что скрытый -- это display: none?
Особенности нашего проекта )
Потому другие варианты не рассматриваю
Ответить с цитированием
  #8 (permalink)  
Старый 30.07.2010, 12:28
Кандидат Javascript-наук
Отправить личное сообщение для jetli13 Посмотреть профиль Найти все сообщения от jetli13
 
Регистрация: 25.11.2009
Сообщений: 109

Сообщение от Octane Посмотреть сообщение

$("*").filter(function () {
    return $(this).css("display") == "none";
});
(((
работает так же как по фильтру hidden
Ищу варианты ....
Ес что найду или пойму в чем дело напишу
Ответить с цитированием
  #9 (permalink)  
Старый 30.07.2010, 12:35
Новичок на форуме
Отправить личное сообщение для Kolyaj Посмотреть профиль Найти все сообщения от Kolyaj
 
Регистрация: 19.02.2008
Сообщений: 9,177

$('*').filter(function() {
    return this.offsetWidth;   // Отбираем видимые элементы
    return !this.offsetWidth;  // Отбираем невидимые элементы
});
Ответить с цитированием
  #10 (permalink)  
Старый 30.07.2010, 12:53
Кандидат Javascript-наук
Отправить личное сообщение для jetli13 Посмотреть профиль Найти все сообщения от jetli13
 
Регистрация: 25.11.2009
Сообщений: 109

Сообщение от Kolyaj Посмотреть сообщение
$('*').filter(function() {
    return this.offsetWidth;   // Отбираем видимые элементы
    return !this.offsetWidth;  // Отбираем невидимые элементы
});
работает!
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Быстрый разбор списка элементов. B~Vladi Общие вопросы Javascript 31 14.07.2010 14:52
Получить список родительских элементов exec Общие вопросы Javascript 3 20.06.2010 10:00
Выборка элементов вложенных списков sniffysko jQuery 4 15.03.2010 23:41
Выбор элементов и построение списка выбранных элементов. madgals Events/DOM/Window 6 14.04.2009 21:30
возможно: массив + выборка mvorobjov Общие вопросы Javascript 5 13.08.2008 16:54