Динамическая вставка тегов не работает в Windows IE или Firefox

Я динамически вставляю теги html в документ, используя следующую стратегию. Он работает в Mac Chrome и Firefox, но не в Windows IE или Windows Firefox. Я подозреваю, что это как-то связано с угловыми скобками в строке, назначенной свойству innerHTML только что созданного тега div. Любые идеи?

function addElement() {

      var ni = document.getElementById('stateSet');
      var newdiv = document.createElement('div');
      var divIdName = 'state'+ stateCount;
      stateCount++;
      newdiv.setAttribute('id',divIdName);
      newdiv.innerHTML = '<input id="name" type="text"/> <input id="setting" type="text"/><button type="button" >x</button>'
      ni.appendChild(newdiv);

    }

person sigmonky    schedule 03.05.2011    source источник
comment
вам не нужен type для элемента кнопки   -  person Naftali aka Neal    schedule 03.05.2011
comment
где определяется stateCount?   -  person Naftali aka Neal    schedule 03.05.2011


Ответы (1)


Попробуйте объявить statecount

function addElement() {
  var stateCount = 0;
  var ni = document.getElementById('stateSet');
  var newdiv = document.createElement('div');
  var divIdName = 'state'+ stateCount;
  stateCount++;
  newdiv.setAttribute('id',divIdName);
  newdiv.innerHTML = '<input id="name" type="text"/> <input id="setting" type="text"/><button type="button" >x</button>'
  ni.appendChild(newdiv);

}

http://jsfiddle.net/TPx3v/

person Ryan Matthews    schedule 03.05.2011