Замена html на JvaScript
Как заменить одну строку в html с помощью JavaScript на другую?
Пример строки: <a id="activity_text" href="#" onclick="activity_editor.show();return false;"> На <a id="activity_text"> Не где не нашёл :( |
тебе обработчик надо добавить или что?
|
var obj=document.getElementById("activity_text"); var parent=obj.parentNode;// родитель var newobj=document.createElement("A"); newobj.id="activity_text"; parent.replaceChild(newobj,obj) А если один родитель специально сделан, то сразу после строки 2: parent.innerHTML="<a id="activity_text">"; |
Цитата:
|
Цитата:
|
Вот тут кстати и идет замена:
parent.innerHTML='<a id="activity_text">'; (изменил кавычки - т.к. с ошибкой было) В чем логика того что я записал: 1) например на onload body запускается этот скрипт 2) ищет нужный элемент var obj=document.getElementById("activity_text"); 3)потом его родителя var parent=obj.parentNode; 4) Создается новый объект var newobj=document.createElement("A"); newobj.id="activity_text"; 5) идет замена старого новым, через родителя parent.replaceChild(newobj,obj) Это если ищется конкретный объект, как вы указали <a id="activity_text" Если же ищется просто какой-то текст, чтоб заменить, то на ходу могу придумать только тяжелое решение: var text=document.body.innerHTML; // строковыми методами делаем замену текста document.body.innerHTML=text; |
спасибо
|
function replaceHtml(el, html) { var oldEl = typeof el === "string" ? document.getElementById(el) : el; /*@cc_on oldEl.innerHTML = html; return oldEl; @*/ var newEl = oldEl.cloneNode(false); newEl.innerHTML = html; oldEl.parentNode.replaceChild(newEl, oldEl); return newEl; }; |
Часовой пояс GMT +3, время: 03:34. |