2015-05-05 3 views
-4

У меня есть фрагмент кода HTML ниже:первый раз перед именем, заменить после первого

<div id="foo"><span id="bar"></span></div> 

Там нет между тегами пробелы выше. Что я могу сделать, чтобы удовлетворить мою просьбу:

  1. использовать только одно заявление с javascript.
  2. Первый раз, вызывая инструкцию javascript, добавьте текстовый индекс (строку, хранящуюся в переменной с именем bazinga) в div # foo.
  3. замените текстовый блок после первого извещения, я имею в виду, 2-е, 3-е ... извещение оператора javascript.
+5

является ли это домашнее задание? Что вы пробовали? –

+0

, если добавленный текстовый узел должен быть размещен до или после узла диапазона? – Henrik

+0

Чистый javascript или [jQuery] (https://jquery.com/)? – Martin

ответ

0

простой старый JavaScript, используя глобальную переменную для памяти предыдущих действий ... протестирован с хромированной версии что-то ..

var firstReplace = true; 
function replaceIntoElement(elmId){ 
    var div = document.getElementById(elmId); 
    if(firstReplace){ 
     div.innerHTML = bazinga + div.innerHTML  
     return; 
    } 
    div.childNodes[0].nodeValue = bazinga; 
} 

что выглядит грациозно .. хотя использование глобальной переменной плохо , но опять же, Bazinga также глобальное ...;)

использование:

<button type="button" onclick="replaceIntoElement('foo')"> run me </button> 
Смежные вопросы