Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 01.12.2011, 09:24
Интересующийся
Отправить личное сообщение для ChikiSt Посмотреть профиль Найти все сообщения от ChikiSt
 
Регистрация: 01.07.2011
Сообщений: 28

выборка видимых элементов
Здравствуйте! Допустим есть такой код...
<a href="any.href"> link1</a>
<div style="display:none">
  <div>
    <a href="any.href"> link2</a>
  </div>
  <a href="any.href"> link3</a>
</div>
<a href="any.href"> link4</a>
<div>
  <a href="any.href"> link5</a>
</div>

Нужно, перебирая ссылки, выбирать те, которые не скрыты.
for (var i=0;i<document.getElementsByTagName("a").length;i+ +)
{
...
}
Подскажите как это лучше сделать
Ответить с цитированием
  #2 (permalink)  
Старый 01.12.2011, 09:29
Аватар для ksa
ksa ksa вне форума
CacheVar
Отправить личное сообщение для ksa Посмотреть профиль Найти все сообщения от ksa
 
Регистрация: 19.08.2010
Сообщений: 14,219

Сообщение от ChikiSt
как это лучше сделать
Например анализировать

document.getElementById("elementID").style.display
Ответить с цитированием
  #3 (permalink)  
Старый 01.12.2011, 09:59
Интересующийся
Отправить личное сообщение для ChikiSt Посмотреть профиль Найти все сообщения от ChikiSt
 
Регистрация: 01.07.2011
Сообщений: 28

Сообщение от ksa Посмотреть сообщение
Например анализировать

document.getElementById("elementID").style.display
так ведь у ссылок "style.display" не определен и если делать ...
for (var i=0;i<document.getElementsByTagName("a").length;i+ +)
{
if (document.getElementsByTagName("a")[i].style.display!="none") {
...
}
}
то будут выбраны все ссылки

Последний раз редактировалось ChikiSt, 01.12.2011 в 10:06.
Ответить с цитированием
  #4 (permalink)  
Старый 01.12.2011, 10:09
Аватар для ksa
ksa ksa вне форума
CacheVar
Отправить личное сообщение для ksa Посмотреть профиль Найти все сообщения от ksa
 
Регистрация: 19.08.2010
Сообщений: 14,219

Сообщение от ChikiSt
так ведь у ссылок ...
Не совсем понятно причём тут ссылки... Если у тебя скрываются ДИВы...
Проходя по ссылкам, тебе нужно смотреть родительские ДИВы и у них проверять видны ли они или нет.

С жиКвери будет проще... Там даже есть такой псевдокласс "видимые элементы".
Ответить с цитированием
  #5 (permalink)  
Старый 01.12.2011, 10:17
Интересующийся
Отправить личное сообщение для ChikiSt Посмотреть профиль Найти все сообщения от ChikiSt
 
Регистрация: 01.07.2011
Сообщений: 28

Сообщение от ksa Посмотреть сообщение
Не совсем понятно причём тут ссылки... Если у тебя скрываются ДИВы...
Проходя по ссылкам, тебе нужно смотреть родительские ДИВы и у них проверять видны ли они или нет.

С жиКвери будет проще... Там даже есть такой псевдокласс "видимые элементы".
так ведь если родитель скрыт, то он и все его потомки не будут видны на странице.
Я пишу пользовательский скрипт, который автоматически клацает по определенным ссылкам, но только по тем, которые видны
Ответить с цитированием
  #6 (permalink)  
Старый 01.12.2011, 10:19
Аватар для ksa
ksa ksa вне форума
CacheVar
Отправить личное сообщение для ksa Посмотреть профиль Найти все сообщения от ksa
 
Регистрация: 19.08.2010
Сообщений: 14,219

Сообщение от ChikiSt
так ведь если родитель скрыт, то он и все его потомки не будут видны на странице.
Разумеется.
Только этот факт никак не противоречит тому, что я написал тебе выше...
Ответить с цитированием
  #7 (permalink)  
Старый 01.12.2011, 10:29
Интересующийся
Отправить личное сообщение для ChikiSt Посмотреть профиль Найти все сообщения от ChikiSt
 
Регистрация: 01.07.2011
Сообщений: 28

Сообщение от ksa Посмотреть сообщение
Проходя по ссылкам, тебе нужно смотреть родительские ДИВы и у них проверять видны ли они или нет.
ты имеешь ввиду сделать так...
for (var i=0;i<document.getElementsByTagName("a").length;i+ +)
 {
  var link=document.getElementsByTagName("a")[i]
    if (link.style.display!="none" && link.parentNode.style.display!="none" ) {
    ...
 }
 }

<a href="any.href"> ссылка1</a> 
<div style="display:none"> 
  <div> 
    <a href="any.href"> ссылка2</a> 
  </div> 
  <a href="any.href"> ссылка3</a> 
</div> 
<a href="any.href"> ссылка4</a> 
<div> 
  <a href="any.href"> ссылка5</a> 
</div>

а 2-ая ссылка определится как видимая ?
Ответить с цитированием
  #8 (permalink)  
Старый 01.12.2011, 11:19
Аватар для ksa
ksa ksa вне форума
CacheVar
Отправить личное сообщение для ksa Посмотреть профиль Найти все сообщения от ksa
 
Регистрация: 19.08.2010
Сообщений: 14,219

Сообщение от ChikiSt
ты имеешь ввиду сделать так...
Я имею ввиду, что помимо самих ссылок, нужно проверять все (!) родительские элементы на видимость.

Так же намекаю, что с жиКвери это написать ооочень просто...
Ответить с цитированием
  #9 (permalink)  
Старый 01.12.2011, 11:26
Интересующийся
Отправить личное сообщение для ChikiSt Посмотреть профиль Найти все сообщения от ChikiSt
 
Регистрация: 01.07.2011
Сообщений: 28

ksa, спасибо большое, думаю дальше я разберусь что к чему
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Суммирование значений всех элементов div frolvict jQuery 1 11.07.2011 17:05
Поочередная выборка элементов в jquery vector jQuery 5 29.06.2011 14:28
Выборка элементов у которых есть данные установленные через дата TicTac jQuery 2 02.05.2011 23:45
выборка элементов jetli13 jQuery 9 30.07.2010 13:53
Выборка элементов вложенных списков sniffysko jQuery 4 16.03.2010 00:41