Javascript.RU

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

Поиск родительского ID по известному дочернему
Имеем разметку вида:
<p class="level1" id="1p"><li class="menuli" ><a class="lev1 loadcontent" id="2" href="materials/1.0.html">Общие сведения</a></li>

<ul class="secondli">
<li class="menuli"><a class="lev2 loadcontent" id="3"  href="materials/1.1.html">Назначение</a></li>
<li class="menuli"><a class="lev2 loadcontent" id="4" href="materials/1.2.html">Основные технические характеристики</a></li>
</ul>

</p>


<p class="level1" id="2p"><li class="menuli"><a class="lev1 loadcontent" id="5" href="materials/3.0.html">Общее устройство</a></li>

<ul class="secondli">
<li class="menuli"><a class="lev2 loadcontent" id="6" href="materials/3.0.html">Состав</a></li>
<li class="menuli"><a class="lev2 loadcontent" id="7" href="materials/3.0.1.html">Принцип</a></li>
<li class="menuli"><a class="lev2 loadcontent" id="8" href="materials/3.0.2.html">Работа</a></li>
</ul>

</p>


Зная id тега <a> (1...8 - обнаружение происходит по событию) нужно найти id родительского P (в данном случае 1p и 2p соответственно, в зависимости от принадлежности потомка родителю).

Почему-то, не понимаю пока почему, простая переборка по parent не отрабатывает должным образом.
Например, находясь в <a > с id=3,
alert($('#3').parent().parent().parent().attr('id'));

выдает пустое окно... Вчера пол дня бился над этим... ноль эмоций к сожалению.. Буду рад любой помощи хотя бы в направлении движения мысли
Ответить с цитированием
  #2 (permalink)  
Старый 28.01.2011, 07:48
Аватар для Gvozd
Матрос
Отправить личное сообщение для Gvozd Посмотреть профиль Найти все сообщения от Gvozd
 
Регистрация: 03.04.2008
Сообщений: 6,234

изучите сначала основы HTML!!!
как вы додумались пихать в <P> блочные элементы
особенно шедеврально смотрится <LI> без обертки

как только сделаете правильную разметку, все у вас должно заработать
Ответить с цитированием
  #3 (permalink)  
Старый 28.01.2011, 07:49
Аватар для Amphiluke
   ☽
Отправить личное сообщение для Amphiluke Посмотреть профиль Найти все сообщения от Amphiluke
 
Регистрация: 07.01.2011
Сообщений: 254

Цифровые id-шники — не очень хороший тон.

А по теме:
alert($("#3").closest("p").attr("id"));
Ответить с цитированием
  #4 (permalink)  
Старый 28.01.2011, 08:41
Аватар для ksa
ksa ksa вне форума
CacheVar
Отправить личное сообщение для ksa Посмотреть профиль Найти все сообщения от ksa
 
Регистрация: 19.08.2010
Сообщений: 12,889

Сообщение от Amphiluke
Цифровые id-шники — не очень хороший тон.
По последним данным ВЦСПС это вполне допустимо, на форуме про то даже тема есь - там описано чего и почему...
Ответить с цитированием
  #5 (permalink)  
Старый 28.01.2011, 09:00
Аватар для Amphiluke
   ☽
Отправить личное сообщение для Amphiluke Посмотреть профиль Найти все сообщения от Amphiluke
 
Регистрация: 07.01.2011
Сообщений: 254

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="ru">
<head>
<title>Template</title>
<style type="text/css">
    #1 { color: red; }
</style>
</head>
<body>
    <p id="1">test</p>
</body>
</html>


В принципе, для меня этого достаточно, чтобы избегать таких id
Ответить с цитированием
  #6 (permalink)  
Старый 28.01.2011, 12:31
Новичок на форуме
Отправить личное сообщение для Kolyaj Посмотреть профиль Найти все сообщения от Kolyaj
 
Регистрация: 19.02.2008
Сообщений: 9,177

Сообщение от Amphiluke
В принципе, для меня этого достаточно, чтобы избегать таких id
А для меня это аргумент, чтобы их использовать. Ибо не надо городить id для CSS, для CSS классов достаточно. id нужны для JS.
Ответить с цитированием
  #7 (permalink)  
Старый 28.01.2011, 12:39
Аватар для ksa
ksa ksa вне форума
CacheVar
Отправить личное сообщение для ksa Посмотреть профиль Найти все сообщения от ksa
 
Регистрация: 19.08.2010
Сообщений: 12,889

Сообщение от Kolyaj
для CSS классов достаточно
Ну это тоже перебор...

Как написано в уставе караульной службы
При нападении на пост часовой обязан "умело действуя штыком и прикладом" отражать нападение, до прихода поткрепления...
Так и тут.
- Селектор идентификатора показывает уникальность
- Селектор класса показывает некую группировку либо неоднозначность отображения (типа on|off)
Ответить с цитированием
  #8 (permalink)  
Старый 28.01.2011, 12:40
Аватар для ksa
ksa ksa вне форума
CacheVar
Отправить личное сообщение для ksa Посмотреть профиль Найти все сообщения от ksa
 
Регистрация: 19.08.2010
Сообщений: 12,889

Сообщение от Kolyaj
id нужны для JS
Я бы сказал что ИД нужны там где ни действительно нужны...
Ответить с цитированием
  #9 (permalink)  
Старый 28.01.2011, 12:50
Новичок на форуме
Отправить личное сообщение для Kolyaj Посмотреть профиль Найти все сообщения от Kolyaj
 
Регистрация: 19.02.2008
Сообщений: 9,177

Сообщение от ksa
- Селектор идентификатора показывает уникальность
- Селектор класса показывает некую группировку либо неоднозначность отображения (типа on|off)
Ничего он не показывает. Он только неоправданно увеличивает вес селектора. Переопределить стили после таких селекторов без указания #id практически невозможно. Остаётся только проклинать таких верстальщиков, если после них проект достанется.

Мне попадались варианты от особо одарённых с каскадами из нескольких id-шников.

ksa,
небольшой вопрос: вы создаёте сайты на заказ, т.е. сделал и забыл, возможно что-то допилил потом, или последовательно развиваете один или несколько больших проектов, которые постоянно меняются и их постоянно надо дописывать?
Ответить с цитированием
  #10 (permalink)  
Старый 28.01.2011, 12:53
Аватар для ksa
ksa ksa вне форума
CacheVar
Отправить личное сообщение для ksa Посмотреть профиль Найти все сообщения от ksa
 
Регистрация: 19.08.2010
Сообщений: 12,889

Сообщение от Kolyaj
Мне попадались варианты от особо одарённых с каскадами из нескольких id-шников.
Могу только посочувствовать твоему плачевному опыту... Но не более того.

Сообщение от Kolyaj
небольшой вопрос
Скорее первое, нежели второе...
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Поиск в тексте javascript jQuery 3 31.05.2011 10:40
PagingToolbar и поиск DenQ ExtJS 5 01.11.2010 23:16
Поиск текста в блоке со скроллингом lukingnu Элементы интерфейса 0 05.08.2010 21:54
Поиск последнего слова в строке AlexFadeev Элементы интерфейса 3 01.04.2010 17:56
Поиск в массиве через JavaScript Noran Общие вопросы Javascript 0 10.08.2008 16:31