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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Следюущий DOM-элемент 
V
    Опции темы
JAYBE
Дата 15.9.2011, 11:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


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

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



добрый день!
Имеется следюущий код:
Код

<li id ="asd"><span class="folder">Folder 1<input type="radio" name="radiobutton"></span></li>
        <ul>
                <li><span class="file">Item 1.1<input type="radio" name="radiobutton"></span></li>
                <li><span class="file">Item 1.2<input type="radio" name="radiobutton"></span></li>
</ul>

Мне необходимо доабвлять элементы внтури <ul></ul>
Как это реализовать без << getElemensByTagName('ul'); >> ?
Необходимость обусловлена бОльшим кодом и необходима реализация вида:
1) element = document.getElementById('asd');
2) брать следующий элемент после элемента с id
Подскажите, как выполнить 2-ой пункт?

Это сообщение отредактировал(а) JAYBE - 15.9.2011, 11:05
PM   Вверх
ayax2005
Дата 15.9.2011, 11:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


echo $smile
**


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

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



$('#asd+ul').append('<li><span class="file">Item 1.2<input type="radio" name="radiobutton"></span></li>');

$('#asd').next().append('<li><span class="file">Item 1.2<input type="radio" name="radiobutton"></span></li>');

Это сообщение отредактировал(а) ayax2005 - 15.9.2011, 11:25


--------------------
все вопросы - из-за неверной формулировки задачи
PM MAIL ICQ   Вверх
InfMag
Дата 15.9.2011, 11:52 (ссылка) |  (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата



***


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

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



JAYBE, у вас неверный html код, получается:
Код

<ul>
  <li></li>
  <ul></ul>
</ul>

ul -> ul — так делать нельзя, это ошибка. Дочерний <ul> выводите внутри соответствующего <li>.

Добавлено @ 11:53
Код

<ul>
  <li>blablabla <ul>…</ul></li>
</ul>


Это сообщение отредактировал(а) InfMag - 15.9.2011, 11:53
PM   Вверх
JAYBE
Дата 15.9.2011, 15:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


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

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



Цитата(ayax2005 @  15.9.2011,  11:24 Найти цитируемый пост)
ayax2005 

Спасибо. А если не прибегая к JQuery?
PM   Вверх
InfMag
Дата 15.9.2011, 17:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата



***


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

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



JAYBE, посоветую заглянуть в jQ: 
Код

next: function( elem ) {
    return jQuery.nth( elem, 2, "nextSibling" );
},
Код

nth: function( cur, result, dir, elem ) {
    result = result || 1;
    var num = 0;

    for ( ; cur; cur = cur[dir] ) {
        if ( cur.nodeType === 1 && ++num === result ) {
            break;
        }
    }

    return cur;
}

Иными словами аргументы:
cur = element
result = 2
dir = 'nextSibling'
elem = undefined

Добавлено через 9 минут и 56 секунд
Иначе:
Код

var element = document.getElementById('asd'), next;
for (var i = 0; element; element = element['nextSibling']) {
    if (element.nodeType === 1 && ++i === 2) {
        next = element;
        break;
    }
}


Добавлено через 11 минут и 58 секунд
А можете использовать функцию:
Код

var element = document.getElementById('asd');

function getNextDom(elem) {
    var next;
    
    for (var i = 0; elem; elem = elem['nextSibling']) {
        if (elem.nodeType === 1 && ++i === 2) {
            next = elem;
            break;
        }
    }
    
    return next;
};

getNextDom(element);

PM   Вверх
JAYBE
Дата 20.9.2011, 12:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


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

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



Спасибо. Но в моём случае для того чтобы поулчитьд сотуп к элементу 'ul' будет применим код:
Код

a = document.getElementById('asd');
b = a.nextSibling;
c = b.parentNode

c - переменная, предоставляющая доступ к элементу 'ul'.
PM   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | JavaScript: для новичков | Следующая тема »


 




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


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

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