Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / HTML, JavaScript, VBScript, CSS [игнор отключен] [закрыт для гостей] / jquery узнать id предка (баг с опера) / 7 сообщений из 7, страница 1 из 1
25.09.2012, 11:05:00
    #37970997
m0p
m0p
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
jquery узнать id предка (баг с опера)
Добрый день, нужно узнать предка элемента меню. я узнаю id - пункт подменю, на который навели мышкой, и parent - идентификатор пункта главного меню. Этот код работает во всех браузерах, кроме оперы. Опере же в значение parent = [object Window]. Пробовал изменять количество вызовов функции parent() - результат тот же...
Код: javascript
1.
2.
id = this.id;
parent = $(this).parent().parent().parent().parent().parent().attr('id');


Вопрос: можно ли каким нибудь другим способом узнать id своего предка???
html код:
Код: html
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
<div id="dopmenu1" class="dopmenu" style="display:none;">
    <div class="strelka" style="margin: -57px 0 0 135px;"></div>
    <div class="dopmenu_content">
        <div class="first_part_dop_menu">
            <h2>Выберите продукт</h2>
            <ul>
                <li><a id="prod1" class="hover_element">Продукт1</a></li>
                <li><a id="prod2" class="hover_element">Продукт2</a></li>
                <li><a id="prod3" class="hover_element">Продукт2</a></li>
            </ul>
            
        </div>
    </div>
</div>
<div id="dopmenu2" class="dopmenu" style="display:none;">
    <div class="strelka" style="margin: -57px 0 0 135px;"></div>
    <div class="dopmenu_content">
        <div class="first_part_dop_menu">
            <h2>Выберите продукт</h2>
            <ul>
                <li><a id="prod1" class="hover_element">Продукт1</a></li>
                <li><a id="prod2" class="hover_element">Продукт2</a></li>
                <li><a id="prod3" class="hover_element">Продукт2</a></li>
            </ul>
            
        </div>
    </div>
</div>
...
Рейтинг: 0 / 0
25.09.2012, 11:07:02
    #37971004
Паганель
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
jquery узнать id предка (баг с опера)
Код: javascript
1.
$(this).closest('.dopmenu')

?
...
Рейтинг: 0 / 0
25.09.2012, 11:10:25
    #37971011
m0p
m0p
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
jquery узнать id предка (баг с опера)
неа, тоже возвращает parent = [object Window]
...
Рейтинг: 0 / 0
25.09.2012, 11:30:52
    #37971044
m0p
m0p
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
jquery узнать id предка (баг с опера)
полный код тестовой страницы, там все наглядно выводится в консоль. Должно выводить parnt2 = dopmenu2 или parnt2 = dopmenu1.

Код: html
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.7/jquery.min.js"></script>
<div id="dopmenu1" class="dopmenu">
    <div class="strelka" style="margin: 57px 0 0 135px;"></div>
    <div class="dopmenu_content">
        <div class="first_part_dop_menu">
            <h2>Выберите продукт</h2>
            <ul>
                <li><a id="prod1" class="hover_element">Продукт1</a></li>
                <li><a id="prod2" class="hover_element">Продукт2</a></li>
                <li><a id="prod3" class="hover_element">Продукт2</a></li>
            </ul>
            
        </div>
    </div>
</div><br><br><br>
<div id="dopmenu2" class="dopmenu">
    <div class="strelka" style="margin: 157px 0 0 135px;"></div>
    <div class="dopmenu_content">
        <div class="first_part_dop_menu">
            <h2>Выберите продукт</h2>
            <ul>
                <li><a id="prod1" class="hover_element">Продукт1</a></li>
                <li><a id="prod2" class="hover_element">Продукт2</a></li>
                <li><a id="prod3" class="hover_element">Продукт2</a></li>
            </ul>
            
        </div>
    </div>
</div>
<script>
$(function(){
 $('.hover_element').hover(function() {
        id = this.id;
        parent = $(this).parent().parent().parent().parent().parent().attr('id');
        console.log('ID = '+id+'  parnt2 = '+parent);
    });
});
</script>
...
Рейтинг: 0 / 0
25.09.2012, 11:51:00
    #37971081
Antonariy
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
jquery узнать id предка (баг с опера)
Опера не любит слово parent. Назови переменную по-другому, будет все ок.
...
Рейтинг: 0 / 0
25.09.2012, 11:55:06
    #37971090
Antonariy
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
jquery узнать id предка (баг с опера)
Вернее не то чтобы не любит, просто у ее window есть свойство parent (тогда как в остальных браузерах parentWindow), а ты свой parent объявил без var, поэтому опера посчитала, что ты обратился к свойству окна.
...
Рейтинг: 0 / 0
25.09.2012, 12:00:39
    #37971102
m0p
m0p
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
jquery узнать id предка (баг с опера)
Офигеть, сам бы не допер. Спасибо, тему можно закрывать
...
Рейтинг: 0 / 0
Форумы / HTML, JavaScript, VBScript, CSS [игнор отключен] [закрыт для гостей] / jquery узнать id предка (баг с опера) / 7 сообщений из 7, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]