Модераторы: Sardar, Aliance
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Обращение к "child" через указатель this, как обратиться правильно ? 
V
    Опции темы
numerovan
Дата 10.11.2009, 13:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 549
Регистрация: 1.12.2007

Репутация: нет
Всего: 2



Здравствуй, подскажи пожалуйста КАК МОЖНО ПРИ НАВЕДЕНИИ НА DIV ПОВЛИЯТЬ НА ВНУТРЕННИЕ ОБЪЕКТЫ ЧЕРЕЗ УКАЗАТЕЛЬ THIS ?
В данном случае я хочу чтоб на див навели мышкой и появилась картинка.
Код

<div onMouseOver="this.child.?????">
     <img src="img/new_img/red_circle_delete.png" style="visibility:hidden">
</div>

PM MAIL   Вверх
Itsys
Дата 10.11.2009, 14:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1338
Регистрация: 21.1.2008
Где: г. Москва

Репутация: 12
Всего: 34



PM MAIL WWW Skype   Вверх
numerovan
Дата 10.11.2009, 23:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 549
Регистрация: 1.12.2007

Репутация: нет
Всего: 2



ответ таков this.childNodes(0).style. и т.д.
PM MAIL   Вверх
youri
Дата 11.11.2009, 04:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 740
Регистрация: 17.4.2004

Репутация: 2
Всего: 16



Цитата(numerovan @  10.11.2009,  23:27 Найти цитируемый пост)
ответ таков this.childNodes(0).style. и т.д.

только лучше this.childNodes[0]...
PM   Вверх
numerovan
Дата 14.11.2009, 18:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 549
Регистрация: 1.12.2007

Репутация: нет
Всего: 2



спасибо за совет, в ишаке всё работает ... вроде в Мазиле нет ... вот как раз нужно помоему и поменять скобки ... посмотрим что получиться ... если дальше ответа не будет, то всё ОК, если будут проблемы то напишу снова.
PM MAIL   Вверх
Amphiluke
Дата 14.11.2009, 20:36 (ссылка) |    (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


   ☽
***


Профиль
Группа: Завсегдатай
Сообщений: 1253
Регистрация: 26.8.2009

Репутация: 35
Всего: 112



Цитата(numerovan @  14.11.2009,  18:36 Найти цитируемый пост)
вроде в Мазиле нет

childNodes в данном случае — плохая идея. Если вы посмотрите содержимое дерева DOM, то увидите, что помимо «видимых» дочерних объектов (типа <img />), в браузере FF включаются в состав дочерних объекты #text, отвечающие за пробелы и переносы строк в вашем коде. Избегайте использования childNodes, где только возможно. Вместо этого применяйте метод getElementsByTagName, которым обладают объекты HTMLElement.
PM   Вверх
youri
Дата 15.11.2009, 23:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 740
Регистрация: 17.4.2004

Репутация: 2
Всего: 16



либо напиши набор функций типа
Код

function firstElement( el ) {

    var r = el.firstChild;
    while( r &&
           r.nodeType != 1 ) // не элемент
        r = r.nextSibling;
    return r;
}

Идею можно взять, например, из mootools
Код

var walk = function(element, walk, start, match, all, nocash){
    var el = element[start || walk];
    var elements = [];
    while (el){
        if (el.nodeType == 1 && (!match || Element.match(el, match))){
            if (!all) return $(el, nocash);
            elements.push(el);
        }
        el = el[walk];
    }
    return (all) ? new Elements(elements, {ddup: false, cash: !nocash}) : null;
};
...
    getPrevious: function(match, nocash){
        return walk(this, 'previousSibling', null, match, false, nocash);
    },

    getAllPrevious: function(match, nocash){
        return walk(this, 'previousSibling', null, match, true, nocash);
    },

    getNext: function(match, nocash){
        return walk(this, 'nextSibling', null, match, false, nocash);
    },

    getAllNext: function(match, nocash){
        return walk(this, 'nextSibling', null, match, true, nocash);
    },

    getFirst: function(match, nocash){
        return walk(this, 'nextSibling', 'firstChild', match, false, nocash);
    },

    getLast: function(match, nocash){
        return walk(this, 'previousSibling', 'lastChild', match, false, nocash);
    },

    getParent: function(match, nocash){
        return walk(this, 'parentNode', null, match, false, nocash);
    },

    getParents: function(match, nocash){
        return walk(this, 'parentNode', null, match, true, nocash);
    },
    
    getSiblings: function(match, nocash) {
        return this.getParent().getChildren(match, nocash).erase(this);
    },

    getChildren: function(match, nocash){
        return walk(this, 'nextSibling', 'firstChild', match, true, nocash);
    },

PM   Вверх
numerovan
Дата 22.11.2009, 21:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 549
Регистрация: 1.12.2007

Репутация: нет
Всего: 2



 
Цитата
childNodes в данном случае — плохая идея. Если вы посмотрите содержимое дерева DOM, то увидите, что помимо «видимых» дочерних объектов (типа <img />), в браузере FF включаются в состав дочерних объекты #text, отвечающие за пробелы и переносы строк в вашем коде. Избегайте использования childNodes, где только возможно. Вместо этого применяйте метод getElementsByTagName, которым обладают объекты HTMLElement.


хороший ответ !
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Форум для вопросов, которые имеются в справочниках, но их поиск вызвал затруднения, или для разработчика требуется совет или просьба отыскать ошибку. Напоминаем: 1) чётко формулируйте вопрос, 2) приведите пример того, что уже сделано, 3) укажите явно, нужен работающий пример или подсказка о том, где найти информацию.
 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | JavaScript: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0453 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.