欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

關(guān)于Mozilla瀏覽器不支持innerText的解決辦法

 更新時間:2023年06月19日 12:53:34   投稿:mdxy-dxy  
在各大瀏覽器中,除Mozilla瀏覽器外,幾乎都支持一個元素的屬性:innerText。我們可以通過它來快速獲取某個元素的內(nèi)的文本。

在各大瀏覽器中,除Mozilla瀏覽器外,幾乎都支持一個元素的屬性:innerText。我們可以通過它來快速獲取某個元素的內(nèi)的文本。

比如:

<p id="test"><strong><font color="red">Hello</font> , world!</strong></p>

我們使用代碼:alert((document.getElementById("test")).innerText)

在IE、Chrome中,均能獲取到“Hello , world!”,但是在Firefox中,卻得到了"undefined"。其原為是firefox中并不支持元素的innerText這個屬性。當(dāng)然,在網(wǎng)絡(luò)上已經(jīng)有很多好的方法來解決這個問題了,比如給HTMLElement原型添加一個屬性(讀取器)。

然而,所有文本節(jié)點都具有nodeValue屬性,而且所有瀏覽器都是支持的。我們可以嘗試用這種方法去讀取一個HTML元素內(nèi)的文本。

下面的原碼,正好解決了這個問題:

function getText(e) {
//若瀏覽器支持元素的innerText屬性,則直接返回該屬性
if(e.innerText) { return e.innerText; }
//不支持innerText屬性時,用以下方法處理
var t = "";
//如果傳入的是一個元素對象,則繼續(xù)訪問其子元素
e = e.childNodes || e ;
//遍歷子元素的所有子元素
for(var i=0; i<e.length; i++) {
//若為文本元素,則累加到字符串t中。
if(e[i].nodeType == 3) { t += e[i].nodeValue; }
//否則遞歸遍歷元素的所有子節(jié)點
else { t += getText(e[i].childNodes); }
}
return t;
}

有了這個函數(shù),我們再來看看如下DOM結(jié)構(gòu):

<p id="test"><strong><font color="red">Hello</font> , world!</strong></p>

然后,我們用:

alert(getText(document.getElementById("test"));

在IE、Chrome、Firefox中均能獲取到 "Hello, world!"

下面分享一下另外一個函數(shù)

try{
	HTMLElement.prototype.__defineGetter__
	(
	"innerText",
	function ()
	{
		var anyString = "";
		var childS = this.childNodes;
			for(var i=0; i<childS.length; i++)
			{
				if(childS[i].nodeType==1)
				anyString += childS[i].tagName=="BR" ? '\n' : childS[i].innerText;
				else if(childS[i].nodeType==3)
				anyString += childS[i].nodeValue;
			}
			return anyString;
	}
	); 
}
catch(e){}

到此這篇關(guān)于關(guān)于Mozilla瀏覽器不支持innerText的解決辦法的文章就介紹到這了,更多相關(guān)不支持innerText內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • 淺談JS函數(shù)定義方式的區(qū)別

    淺談JS函數(shù)定義方式的區(qū)別

    下面小編就為大家?guī)硪黄獪\談JS函數(shù)定義方式的區(qū)別。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2016-10-10
  • JavaScript正則表達(dá)式驗證登錄實例

    JavaScript正則表達(dá)式驗證登錄實例

    這篇文章主要為大家詳細(xì)介紹了JavaScript正則表達(dá)式驗證登錄實例,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2020-03-03
  • js實現(xiàn)彈窗效果

    js實現(xiàn)彈窗效果

    這篇文章主要為大家詳細(xì)介紹了js實現(xiàn)彈窗效果,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2020-08-08
  • JavaScript 十六進(jìn)制RGB色碼轉(zhuǎn)換器

    JavaScript 十六進(jìn)制RGB色碼轉(zhuǎn)換器

    JavaScript 十六進(jìn)制RGB色碼轉(zhuǎn)換器,大家可以學(xué)習(xí)下思路。
    2009-08-08
  • 使用Map處理Dom節(jié)點的方法詳解

    使用Map處理Dom節(jié)點的方法詳解

    本文淺析一下為什么Map(和WeakMap)在處理大量DOM節(jié)點時特別有用,文中的代碼示例介紹的非常詳細(xì),感興趣的小伙伴可以借鑒閱讀
    2023-05-05
  • javascript下漢字和Unicode編碼互轉(zhuǎn)代碼

    javascript下漢字和Unicode編碼互轉(zhuǎn)代碼

    這個是就是把漢字和Unicode編碼互轉(zhuǎn)的javascript代碼,也是從網(wǎng)上找到了,也許有人用得著??!
    2010-10-10
  • 微信小程序自定義可滑動日歷界面

    微信小程序自定義可滑動日歷界面

    這篇文章主要為大家詳細(xì)介紹了微信小程序自定義可滑動日歷界面,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2018-12-12
  • JavaScript字符串轉(zhuǎn)換數(shù)字的方法

    JavaScript字符串轉(zhuǎn)換數(shù)字的方法

    這篇文章主要介紹了JavaScript字符串轉(zhuǎn)換數(shù)字的方法,文章圍繞JavaScript字符串轉(zhuǎn)換數(shù)字的相關(guān)資料展開全文內(nèi)容,需要的小伙伴可以參考一下
    2021-12-12
  • ES6 javascript的異步操作實例詳解

    ES6 javascript的異步操作實例詳解

    這篇文章主要介紹了ES6 javascript的異步操作,結(jié)合實例形式分析了ES5中異步操作的概念、原理、使用方法及相關(guān)注意事項,需要的朋友可以參考下
    2017-10-10
  • 微信小程序冒泡事件及其阻止方法實例分析

    微信小程序冒泡事件及其阻止方法實例分析

    這篇文章主要介紹了微信小程序冒泡事件及其阻止方法,結(jié)合實例形式分析了事件分類、冒泡及相應(yīng)阻止操作方法,需要的朋友可以參考下
    2018-12-12

最新評論