Javascript-форум (https://javascript.ru/forum/)
-   Firefox/Mozilla (https://javascript.ru/forum/css-html-firefox-mizilla/)
-   -   Простая вещь, а в мозиле не работает.. (https://javascript.ru/forum/css-html-firefox-mizilla/9562-prostaya-veshh-v-mozile-ne-rabotaet.html)

ProniK 24.05.2010 16:36

Простая вещь, а в мозиле не работает..
 
Скажите как переписать

<a href="#" onclick="document.getElementById('main').outerHTML = '888888'; return false;">делать</a>

Чтобы работало в mozilla-firefox???

Kolyaj 24.05.2010 16:37

outerHTML -> innerHTML

exec 24.05.2010 16:59

Firefox не знает, что такое outerHTML, но есть альтернатива:

function outerHTML(a, x) {
a.insertAfter(x);
a.parentNode.removeChild(a);
}

ProniK 24.05.2010 18:16

Отрыл наконец-то...

Кто хочет чтобы firefox понимал outerHTML
вставьте в начало документа

<script language="JavaScript" type="text/javascript">
//учим firefox outerHTML
if (typeof(HTMLElement) != "undefined") {
    var _emptyTags = {
       "IMG": true,
       "BR": true,
       "INPUT": true,
       "META": true,
       "LINK": true,
       "PARAM": true,
       "HR": true
    };
    
    HTMLElement.prototype.__defineGetter__("outerHTML", function () {
       var attrs = this.attributes;
       var str = "<" + this.tagName;
       for (var i = 0; i < attrs.length; i++)
          str += " " + attrs[ i ].name + "=\"" + attrs[ i ].value + "\"";
    
       if (_emptyTags[this.tagName])
          return str + ">";
    
       return str + ">" + this.innerHTML + "</" + this.tagName + ">";
    });
    
    HTMLElement.prototype.__defineSetter__("outerHTML", function (sHTML) {
       var r = this.ownerDocument.createRange();
       r.setStartBefore(this);
       var df = r.createContextualFragment(sHTML);
       this.parentNode.replaceChild(df, this);
    });
}
//конец обучения
</script>

Bazinga 10.03.2011 15:05

тоже не работает в мозила
 
у меня такая же проблема в мозиле не работает:

<a onclick="document.div1.style.visibility='hidden'" href="javascript:void(0)"> скрыть </a>

подскажите, что не так написано, ибо пишет, что document.div1 is undefined.

рони 10.03.2011 15:24

Bazinga,
Откройте для себя функцию
document.getElementById('div1')


Часовой пояс GMT +3, время: 05:37.