![]() |
Как с пом. JS заменить элемент на другой, описанный динамически? Есть произвольный элемент <table><tr><td id="xxx">0</td><td>END</td></tr></table> (может быть divm span, или любое другое) надо создать, допустим, строку '<td>1</td><td>2</td>' и каким-то образом вставить вместо элемента c id xxx. Т.е. должно выйти вот такое <table><tr><td>1</td><td>2</td><td>END</td></tr></table> как видим, элемент c id xxx вообще исчез, и вместо него подставилось то, что было в строке. Как такое сделать? Важно: createElement не совсем катит, т.к. там надо прописывать имя тэга, а мы заранее не знаем, что там будет в динамической строке. Может там даже просто текст будет. Вот такое. Чешу репу уже долго.... |
Мдя... это не стэк_переволнен, где ответы появляются еще до обновиления страницы....... =)) |
[url]http://web-color.org/public/jQuery.djvu[/url] страница 134 |
с пом. [u][b]JS[/b][/u] |
[quote=brezhnev;27644487]7-Гавайские субтитры >тогда только - разбор того что нужно вставить, далее сравнение с базой, далее снова на форум[/quote] =)) Ну не парьтесь с велосипедом (или граблями?) изучайте [b]И[/b] jQuery |
3-Гавайские субтитры > жесть.... на jQuery будет что-то типа : jQuery("#xxx").after("<td>1111</td>"); jQuery("#xxx").remove(); |
5-lublurtk > надо на js, jq ковырять не хоцца. Тут наверное надо что-то типо outerHTML, токо оно не кроссбравзерное походу. |
6-Гавайские субтитры >а что там ковырять?) почти все ф-ции jQuery кроссбраузерные) [url]http://jsfiddle.net/YPP4y/[/url] |
Жаль тут нету крупного шрифта. Втретий раз:[b] НАДО НА JS[/b] Уточняю (для тех кто считает что фреймворк это и есть JS): [b]НАДО НА ЧИСТОМ JS[/b] |
8-Гавайские субтитры >[em]для тех кто считает что фреймворк это и есть JS[/em] - а что это? CI, Yii это не пхп ?) напиши сюда [url]http://javascript.ru/forum/[/url] |
Js - он везде чистый, грязный только код написанный кривыми руками. а тебе надо [b]НАТИВНЫЙ JS[/b] |
[quote=Гавайские субтитры;27728673]jq ковырять не хоцца.[/quote] лучше ждать пока кто то за тебя скопирует от туда 10 строк кода с ключом "after/before" и "remove" и вставит сюда?? |
[quote=Kuba;27732346]а тебе надо НАТИВНЫЙ[/quote] (листая словарики): а ты, уважаемый, ничего тяжолого не нюхал перед тем как этот пост писать? |
[quote=Kuba;27732417]лучше ждать пока кто то за тебя скопирует от туда 10 строк кода с ключом "after/before" и "remove" и вставит сюда??[/quote] иди глянь на тот replaceWith и ты поймешь, почему не хоцца. =)) |
<table id="mytab"> ... </table> <script type="text/javascript"> document.getElementById('mytab').innerHTML='<tr><td> Вставляй, что угодно </td></tr>'; </script> |
14-dolg > мдя... =)) ЗЫ Все, пацаны, вопрос снимается, т.к. разобралсо сам. Чуть пожже дам кроссбраузерное решение. |
[url]http://stackoverflow.com/questions/13388379/js-how-to-replace-html-element-with-another-element-text-represented-in-string[/url] первый ответ - кроссбравзерное решение |
15-Гавайские субтитры > "createElement не совсем катит", "jq ковырять не хоцца", "надо что-то типо outerHTML" - твои слова. Что-то не устраивает? |
[quote=dolg;27757932]"createElement не совсем катит"[/quote] createElement, в плане "tmp=createElement("div"); tmpюinnerHTML=str" - да. не катит. Не надо вырывать фразы из контекста. Некрасиво. И даже неприлично. [quote=dolg;27757932]надо что-то типо outerHTML[/quote] да. Надо что-то типо outerHTML. только кроссбравзерное. Что-то не устраивает? =)) |
18-Гавайские субтитры> Я предложил тебе простое решение. А ты мдякаешь и ещё меня обвиняешь в неприличности и дразнишь моим же вопросом. Следи за своими словами. |
[quote=dolg;27758632]Я предложил тебе простое решение[/quote] будь добр, перечитай сабж. Твой innerHTML к сабжу не имеет никакого отношения, т.к. менять надо не inner, а весь элемент. =)) |
Что значит, "менять надо не inner"? Что такое inner? |
Хм.. похоже, ты не шутишь. Ладно. Бывает. |
Ну скажи, мне интересно |
Что ты подразумеваешь под "inner"? Это новое понятие JS? |
23-dolg > чего тут еще говорить? Мне над было outerHTML, а не innerHTML. Ты не знаешь какая между ними разница? |
Знаю, первый не перезаписывает разметку, а добавляет. Но он не кроссбраузерный. Просто я знаю, что у элемента есть атрибуты, предки, потомки. А что такое inner? |
Столько элементов видел через console.log(). Но inner ни разу не встречал |
[quote=dolg;27758707]Знаю, первый не перезаписывает разметку, а добавляет.[/quote] ясно. Давайдосвидания. [quote=dolg;27758707]А что такое inner?[/quote] inner is the opposite to outer =))))) |
Свойство innerHTML для любого элемента имеет в качестве значения строку, содержащую HTML-код, заключенный между открывающим и закрывающим тегами элемента. Иначе говоря, innerHTML содержит внутренний HTML-код контейнера элемента. Присвоение этому свойству нового значения, содержащего HTML-код, приводит к интерпретации этого кода. Разумеется, новое значение может и не содержать тегов. Свойство outerHTML аналогично свойству innerHTML, но отличается тем, что содержит весь HTML-код, включая внешние открывающий и закрывающий теги элемента. Первое, что нашёл [url]http://it.kgsu.ru/JS/js0053.html[/url] Давайдосвидание, пустослов |
29-dolg > вот про это и речь. =) И нефиг тут про innerHTML с умным видом рассусоливать, тем более если спрашивали не про него =)) |
Просто не оперируют такими понятиями inner, outer. Есть потомки, есть предки, есть элемент. Производители браузеров считают правильным не перезаписывать элемент через обращение к нему самому. Если в твоем случае нужно что-то вставить вместо таблицы, обращаешься с этим же свойством к предку. И поверь, в библиотеках JS с innerHTML много что делается. |
31-dolg > ваще-то в сабже было предельно ясно поставлена задача, и до "Тут наверное надо что-то типо outerHTML" ты таки дочитал. Посему вопрос: [b]при чем тут твой innerHTML[/b], если надо заменить весь элемент? =)) |
Текущее время: 05:06. Часовой пояс GMT +3. |