Rumah hujung hadapan web tutorial js Firefox中使用outerHTML的2种解决方法_javascript技巧

Firefox中使用outerHTML的2种解决方法_javascript技巧

May 16, 2016 pm 04:45 PM
firefox

对于DOM对象的innerHTML属性想必大家都不会陌生,但是outerHTML用起来相对于会少一点了,innerHTML属性返回的是DOM对象从开始标签到结束标签中所包含的HTML,而outerHTML属性返回的是包括DOM对象本身标签在内的HTML,下图能很好的解释两个属性的区别:
Firefox中使用outerHTML的2种解决方法_javascript技巧

outerHTML最开始是属于IE的私有属性,可以查看MSDN上的说明:outerHTML Property(http://msdn.microsoft.com/en-us/library/ms534310(VS.85).aspx)。目前IE、Chrome、Safari、Opera都能支持这个属性,杯具的是outerHTML不支持Firefox,在Firefox中该属性永远返回undefined,值得欣慰的是HTML5会加入这个属性。
让Firefox支持outerHTML属性可以通过扩展HTMLElement的原型来实现:

复制代码 代码如下:

if (typeof(HTMLElement) != "undefined") {
 HTMLElement.prototype.__defineSetter__("outerHTML", function(s) {
 var r = this.ownerDocument.createRange();
 r.setStartBefore(this);
 var df = r.createContextualFragment(s);
 this.parentNode.replaceChild(df, this);
 return s;
 });
 HTMLElement.prototype.__defineGetter__("outerHTML", function(){
 var a = this.attributes, str = " for (; i  if (a[i].specified)
 str = " " Hormis dans les machines a sous preferees universelles, les casinos offrent des jeux par exemple Grandes six roues, Pai Go Poker, Blackjack, Baccarat, la Roulette et le Craps, entre autres. a[i].name "="" a[i].value """;
 if (!this.canHaveChildren)
 return str " />";
 return str ">" this.innerHTML "";
 });

 HTMLElement.prototype.__defineGetter__("canHaveChildren", function(){
 return
 !/^(area|base|basefont|
 col|frame|hr|img|br|
 input|isindex|link|meta
 |param)$/.test(this.tagName.toLowerCase());
 });



该方法出自W3Help(http://www.w3help.org/zh-cn/causes/SD9017),有点繁琐,而且还要侵入原型。还有一种更简单代替的办法,先创建一个空节点,将要获取outerHTML属性的DOM对象添加到这个空节点中,然后访问这个空节点的innerHTML就行了:

复制代码 代码如下:

function outerHtml(elem){
 if(typeof elem === "string") elem = document.getElementById(elem);
 // 创建一个空div节点
 var div = document.createElement("div");
 // 将复制的elemCopy插入到空div节点中 
 div.appendChild(elem.cloneNode(true));
 // 返回div的HTML内容
 return div.innerHTML; 
};

比起上面的办法,不用去动原型,代码量也少了很多,相信还会有其他的解决办法。

Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn

Alat AI Hot

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

AI Hentai Generator

AI Hentai Generator

Menjana ai hentai secara percuma.

Alat panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Bagaimana untuk mengalih keluar Firefox Snap dalam Ubuntu Linux? Bagaimana untuk mengalih keluar Firefox Snap dalam Ubuntu Linux? Feb 21, 2024 pm 07:00 PM

Untuk mengalih keluar FirefoxSnap dalam Ubuntu Linux, anda boleh mengikuti langkah berikut: Buka terminal dan log masuk ke sistem Ubuntu anda sebagai pentadbir. Jalankan arahan berikut untuk menyahpasang FirefoxSnap: sudosnapremovefirefox Anda akan digesa untuk kata laluan pentadbir anda. Masukkan kata laluan anda dan tekan Enter untuk mengesahkan. Tunggu pelaksanaan arahan selesai. Setelah selesai, FirefoxSnap akan dialih keluar sepenuhnya. Ambil perhatian bahawa ini akan mengalih keluar versi Firefox yang dipasang melalui pengurus pakej Snap. Jika anda memasang versi Firefox yang lain melalui cara lain (seperti pengurus pakej APT), anda tidak akan terjejas. Pergi melalui langkah-langkah di atas

Bolehkah mozilla firefox dinyahpasang? Bolehkah mozilla firefox dinyahpasang? Mar 15, 2023 pm 04:40 PM

Mozilla Firefox boleh dinyahpasang; Firefox ialah penyemak imbas pihak ketiga dan boleh dinyahpasang jika ia tidak diperlukan. Kaedah nyahpasang: 1. Dalam menu Mula, klik "Sistem Windwos" - "Panel Kawalan"; 2. Dalam antara muka "Panel Kawalan", klik "Program dan Ciri" 3. Dalam antara muka baharu, cari dan klik dua kali Ikon Pelayar Firefox; 4. Dalam tetingkap pop timbul, klik "Seterusnya" 5. Klik "Nyahpasang".

Ciri baharu Firefox 113: sokongan untuk animasi AV1, penjana kata laluan yang dipertingkatkan dan ciri gambar dalam gambar Ciri baharu Firefox 113: sokongan untuk animasi AV1, penjana kata laluan yang dipertingkatkan dan ciri gambar dalam gambar Mar 05, 2024 pm 05:20 PM

Menurut berita terkini, sementara Mozilla mengeluarkan versi stabil Firefox 112, ia juga mengumumkan bahawa versi utama seterusnya, Firefox 113, telah memasuki saluran Beta dan menyokong animasi AV1, penjana kata laluan yang dipertingkatkan dan ciri gambar dalam gambar. Fungsi/ciri baharu utama Firefox 113 adalah seperti berikut: Sokongan untuk imej animasi format AV1 (AVIS); Meningkatkan keselamatan penjana kata laluan dengan memperkenalkan aksara khas , dan dayakan skrin penuh dengan lebih mudah Mod menyediakan fail pemasangan DEB rasmi untuk pengedaran Debian dan Ubuntu ciri import penanda halaman yang dikemas kini, ikon untuk penanda halaman yang diimport disokong secara lalai Penyahkodan video AV1 dipercepatkan perkakasan didayakan secara lalai pada perkakasan yang disokong menggunakan w

Bagaimana untuk menggunakan Mozilla Firefox dalam Scrapy untuk menyelesaikan masalah mengimbas kod QR untuk log masuk? Bagaimana untuk menggunakan Mozilla Firefox dalam Scrapy untuk menyelesaikan masalah mengimbas kod QR untuk log masuk? Jun 22, 2023 pm 09:50 PM

Untuk perangkak merangkak tapak web yang memerlukan log masuk, kod pengesahan atau log masuk kod imbasan adalah masalah yang sangat menyusahkan. Scrapy ialah rangka kerja perangkak yang sangat mudah digunakan dalam Python, tetapi apabila memproses kod pengesahan atau mengimbas kod QR untuk log masuk, beberapa langkah khas perlu diambil. Sebagai pelayar biasa, Mozilla Firefox menyediakan penyelesaian yang boleh membantu kami menyelesaikan masalah ini. Modul teras Scrapy dipintal, yang hanya menyokong permintaan tak segerak, tetapi sesetengah tapak web memerlukan penggunaan kuki dan

Pelayar Firefox Firefox 115 dikeluarkan, menyokong versi terakhir Win7/Win8.1 Pelayar Firefox Firefox 115 dikeluarkan, menyokong versi terakhir Win7/Win8.1 Mar 04, 2024 pm 04:46 PM

Berita terkini hari ini, Mozilla secara rasmi mengeluarkan kemas kini versi stabil pelayar Firefox 115 hari ini Perkara yang paling penting tentang kemas kini ini ialah ini adalah versi terakhir yang menyokong Win7/Win8, macOS10.12, 10.13 dan 10.14. Alamat muat turun: https://ftp.mozilla.org/pub/firefox/releases/115.0/Mozilla dinyatakan dalam log kemas kini rasmi: Microsoft akan menamatkan sokongan untuk sistem Win7 dan Win8 pada Januari 2023, dan Firefox 115 dikeluarkan hari ini Versinya ialah kemas kini versi terakhir yang diterima oleh pengguna sistem tersebut. Pengguna Win7 dan Win8

Ubuntu 23.10 akan menjalankan Firefox dalam mod Wayland asli secara lalai Ubuntu 23.10 akan menjalankan Firefox dalam mod Wayland asli secara lalai Feb 29, 2024 am 10:10 AM

Canonical baru-baru ini mengumumkan bahawa dalam Ubuntu 23.10 yang akan datang, Firefox Snap telah dikonfigurasikan untuk dijalankan dalam mod Wayland secara lalai. Nota: Ubuntu kini mempunyai sesi Wayland secara lalai, dan Firefox juga boleh berfungsi seperti biasa. Walau bagaimanapun, pada masa ini FirefoxSnap sebenarnya berjalan dalam mod keserasian XWayland, bukannya mod Wayland asli yang ketat. Canonical mengumumkan bahawa ia akan menjalankan pelayar Firefox dalam mod Wayland secara lalai, supaya masalah seperti kabur antara muka dan herotan penskalaan tidak akan berlaku pada paparan HiDPI, dan ia akan menyokong gerak isyarat sentuh seperti menyeret dan mencubit. Seperti yang dinyatakan di atas, Ubuntu

Firefox 115 Beta dikeluarkan: Memperkenalkan Tindakan Pantas Firefox 115 Beta dikeluarkan: Memperkenalkan Tindakan Pantas Mar 04, 2024 pm 03:10 PM

Berita baharu semalam: Walaupun Mozilla mengeluarkan kemas kini versi stabil Firefox 114, ia juga mengalihkan fokus pembangunannya kepada versi Firefox 115 dan melancarkan versi Beta hari ini. Adalah diketahui daripada laporan bahawa Firefox 115 memperkenalkan butang CookieBannerReduction dan QuickActions yang pada asalnya dirancang untuk dilancarkan dalam versi 114. Selepas pengguna mendayakan CookieBannerReduction dalam Firefox versi 115 dan melawati tapak web yang disokong, penyemak imbas secara automatik akan menolak permintaan kuki pada cookiebanner. Ciri kedua ialah butang QuickActions pada bar alamat

Apakah pelayar terbaik untuk Windows 10? Apakah pelayar terbaik untuk Windows 10? Jul 11, 2023 pm 05:09 PM

Jika anda ingin melayari Internet dengan lebih lancar, anda memerlukan pelayar yang mudah digunakan Jadi pelayar mana yang lebih baik dalam Win10? Editor di bawah mengesyorkan beberapa penyemak imbas yang lebih mudah digunakan untuk rujukan anda. 1. Google Chrome Pelayar ini boleh dikatakan lebih berkuasa apabila digunakan pada sistem win10 Ia ditulis berdasarkan perisian sumber terbuka lain, termasuk Mozilla dan webkit, yang sangat meningkatkan kestabilan, kelajuan dan keselamatan antara muka yang membuatkan anda berasa selesa menggunakannya. 2. Pelayar QQ Pelayar QQ ialah pelayar yang sangat mudah digunakan dan pelayar generasi baharu, jadi ia akan sangat sesuai untuk sistem win10 Seni bina baharu yang diguna pakai telah dioptimumkan sepenuhnya untuk kernel iaitu.

See all articles