Добавление элемента с уникальным ID, уделение его!
Всем привет!
Пипец замучался уже!:help: Пишу модуль для TinyEditor который бы мне: 1. Добавлял мне элемент с уникальнымм числовым ID Типа такого <div id="1">Тут текст какой нить</div> 2. Выводил мне их 3. Удалял нужный элемент по запросу. Сейчас это работает в ручном режиме типа if <div id="1"> найден то проверяем есть ли <div id="2"> если нет то добавляем <div id="2"> и тд. Для удаления если найден <div id="1"> то заменяем на "". Ломаю голову как этот процесс автоматизировать! К вам вопрос, как лучше всего организовать добавление элементов, как лучше всего организовать поиск и вывод элементов, как удалять элементы, как добавлять новый элемент если например есть элемент id=1 и элемент id=5? Заранее благодарю! |
Ну, начнем с того, что id не может начинаться с цифры:)
|
Цитата:
Цитата:
document.getElementsByName('их_имя')
Ну а дальше в цикле все они твои... :) |
Цитата:
http://javascript.ru/forum/events/13...a-s-cifry.html Думаю этим все сказано! Цитата:
Предположим получил я их в цикле! А дальшь то что? Как удалить например из строки: srt = '<div name="date">Текст 1</div><div name="date">Текст 2</div><div name="date">Текст 3</div><div name="date">Текст 4</div>'; элемент который содержит в себе (Текст 3), заведомо не зная что элемент содержит в себе именно (Текст 3) а не (Мама мыла раму) |
ksa предлагал вариант для DOM.
Если же в строке то тупо поставить инкремент и не париться за порядок. Т.е. каждый последующий = i++. Не думаю что точное следование по порядку(т.е. перезаписывание всего текста при каждом удалении) имеет какой-то смысл. |
Цитата:
Вот прикинь открыл ты редактор TinyEditor вызвал модуль! он тебе отобразил все элементы в цикле, например которые нашел по регулярному выражению /<div id=\"\d*\".*?<\/div>/ig и че, дальше то что? мне нужно воткнуть рядом с элементами кнопку удалить! а как я буду удалять если я не знаю id |
Цитата:
Цитата:
<!DOCTYPE html>
<HTML>
<HEAD>
<TITLE></TITLE>
<style>
</style>
<script>
function Del() {
var o=document.getElementsByTagName('div')
var val=document.getElementById('item').value
var i
for (i=0; i<o.length; i++) {
if (o[i].name!='date') {
continue
}
if (o[i].innerHTML==val) {
o[i].removeNode(true)
break
}
}
}
</script>
</HEAD>
<BODY>
<div name="date">Текст 1</div>
<div name="date">Текст 2</div>
<div name="date">Текст 3</div>
<div name="date">Текст 4</div>
<input type='text' id='item' value='Текст 3' />
<input type='button' value='Del' onclick='Del()' />
</BODY>
</HTML>
|
| Часовой пояс GMT +3, время: 02:27. |