Как мне сделать OuterHTML в Firefox? - PullRequest
37 голосов
/ 09 ноября 2009

Часть моего кода я получаю свойство OuterHTML

"<LI onclick="TabClicked(this, 'SearchName', 'TabGroup1');">Name "

так что я могу делать вещи, связанные с анализом.

В Firefox нет свойства OuterHTML в javascript, и я не могу найти альтернативный способ получить эту строку. Идеи? * * 1006

Ответы [ 11 ]

0 голосов
/ 09 ноября 2009

Если вам нужен только атрибут onclick, попробуйте следующее: Предполагается, что вы не установили событие с помощью attachEvent или addEventListener.

elm.getAttribute("onclick");

Если вы хотите создать строку externalHTML (просто пообещайте не разбирать ее после создания):

function outerHTML(elm){
  var ret = "<"+elm.tagName;
  for(var i=0; i<elm.attributes.length; i++){
    var attr = elm.attributes[i];
    ret += " "+attr.name+"=\""+attr.nodeValue.replace(/"/, "\"")+"\"";
  }
  ret += ">";
  ret += elm.innerHTML+"</"+elm.tagName+">";
  return ret;
}

В большинстве случаев эта функция должна работать, но не учитывает пространства имен.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...