Обращение к элементу
Допустим, есть документ с таким содержимым:
Код:
...<br>sometext<div></div><br>sometext<br>... function blablabla(){ $('div').append(document.createElement('br')); $('div > br').unwrap(); } После срабатывания скрипта div удаляется и на его место становится свежесозданный br и дерево элементов "перезагружается". Вопрос: могу ли я каким либо образом еще раз обратится к этому же br'у? По индексу искать неполучится т.к. кол-во всех br'ов неизвестно. Может его можно как нибудь "запомнить" или "пометить"? У моего генератора идей уже села батарейка:( . Надеюсь на вашу помощь. |
var br = document.createElement('br'); br.id = 'myBR'; $('div').append(br); br - ссылка на вставленный бр, а можно найти его и по ID - myBR |
Цитата:
Ты его добавляешь в конец - значит он последний, вот тебе и индекс. Цитата:
// вот запомнил var o=document.createElement('br'); $('div').append(o); Цитата:
|
devote,
Поиск по id неподходит, а вот идея с переменной мне понравилась, но возникает встречная проблема: var div = $('div'); var br = $('br', div)[0]; alert(br.length); Возвращает undefined. почему? у меня синтаксическая ошибка? |
Цитата:
JS действует по своим законам, а не по наитию каких-то кодеров... Ты сам-то хоть понял чего накодил? :D |
Всё, всем спасибо, разобрался. Сейчас будем применять на практике!
|
А на практике не всё так гладко... В общем не буду ходить вокруг да около, вот изначальный скрипт с которым я работаю:
var sel = iframe_doc.getSelection(); var br = sel.getRangeAt(0).createContextualFragment('<br>'); sel.getRangeAt(0).insertNode(br); $('br', sel.anchorNode).unwrap(); br.id = "myid"; br.length показывает что имеется 1 такой элемент в наборе, но вот в дереве он его не находит, и br.id = "myid"; не отрабатывает.Может есть вариант, как ему присвоить id? |
Вытащить последний элемент можно с помощью метода .length - 1, вот например:
var array = ["Перевый элемент","Второй элемент","Третий элемент"]; alert("Последний элемент это " + array[array.length - 1]); Выводит Последний элемент это Третий элемент |
Алек,
Вы не поняли, в данном коде браузер мне "говорит" что в |
Путём проб узнал что браузер находит элемент в дереве элементов через переменную т.е.:
var br = document.createElement('br'); $('div').append(br); br.parentNode //вернёт div но в моём случае возвращает null. Может вопрос глупый, но всёже - что в данном случае означает null? нет родителя? не нашёл элемент? |
Часовой пояс GMT +3, время: 08:01. |