最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

關于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這個屬性。當然,在網(wǎng)絡上已經(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結構:

<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){}

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

相關文章

  • JS如何使用剪貼板操作Clipboard API

    JS如何使用剪貼板操作Clipboard API

    瀏覽器允許JavaScript腳本讀寫剪貼板,自動復制或粘貼內(nèi)容。一般來說,腳本不應該改動用戶的剪貼板,以免不符合用戶的預期。但是,有些時候這樣做確實能夠帶來方便,比如"一鍵復制"功能,用戶點擊一下按鈕,指定的內(nèi)容就自動進入剪貼板。本文將介紹3種方法來實現(xiàn)。
    2021-05-05
  • js實現(xiàn)上一頁下一頁的效果【附代碼】

    js實現(xiàn)上一頁下一頁的效果【附代碼】

    下面小編就為大家?guī)硪黄猨s實現(xiàn)上一頁下一頁的效果【附代碼】。小編覺得非常不錯。現(xiàn)在分享給大家。希望能給大家一個參考。
    2016-03-03
  • Javascript驗證Visa和MasterCard信用卡號的方法

    Javascript驗證Visa和MasterCard信用卡號的方法

    這篇文章主要介紹了Javascript驗證Visa和MasterCard信用卡號的方法,涉及javascript正則驗證的相關技巧,具有一定參考借鑒價值,需要的朋友可以參考下
    2015-07-07
  • JS數(shù)據(jù)類型STRING使用實例解析

    JS數(shù)據(jù)類型STRING使用實例解析

    這篇文章主要介紹了JS數(shù)據(jù)類型STRING使用實例解析,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2019-12-12
  • js簡單實現(xiàn)根據(jù)身份證號碼識別性別年齡生日

    js簡單實現(xiàn)根據(jù)身份證號碼識別性別年齡生日

    根據(jù)身份證號碼識別性別年齡生日,目前就有一個這樣的需求,那么接下來為大家介紹下使用js是如何實現(xiàn)的,感興趣的朋友不要錯過
    2013-11-11
  • 解決ie11 SCRIPT5011:不能執(zhí)行已釋放Script的代碼問題

    解決ie11 SCRIPT5011:不能執(zhí)行已釋放Script的代碼問題

    這篇文章主要介紹了ie11 SCRIPT5011:不能執(zhí)行已釋放Script的代碼 ,需要的朋友可以參考下
    2019-05-05
  • js樹插件zTree獲取所有選中節(jié)點數(shù)據(jù)的方法

    js樹插件zTree獲取所有選中節(jié)點數(shù)據(jù)的方法

    這篇文章主要介紹了js樹插件zTree獲取所有選中節(jié)點數(shù)據(jù)的方法,是對js樹插件zTree非常實用的操作,需要的朋友可以參考下
    2015-01-01
  • nestjs實現(xiàn)圖形校驗和單點登錄的示例代碼

    nestjs實現(xiàn)圖形校驗和單點登錄的示例代碼

    本文主要介紹了nestjs實現(xiàn)圖形校驗和單點登錄的示例代碼,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2023-05-05
  • javascript中的數(shù)據(jù)類型檢測方法詳解

    javascript中的數(shù)據(jù)類型檢測方法詳解

    這篇文章主要介紹了javascript中的數(shù)據(jù)類型檢測方法,結合實例形式分析了javascript數(shù)據(jù)類型并總結分析了常見的數(shù)據(jù)類型檢測操作技巧,需要的朋友可以參考下
    2019-08-08
  • JavaScript報錯:Uncaught ReferenceError: XYZ is not defined的解決方法

    JavaScript報錯:Uncaught ReferenceError: XYZ is&

    在 JavaScript 編程中,“Uncaught ReferenceError: XYZ is not defined” 是一種常見的錯誤,這種錯誤通常發(fā)生在試圖使用一個未聲明的變量或標識符時,故本文給大家介紹了JavaScript報錯:Uncaught ReferenceError: XYZ is not defined的解決方法,需要的朋友可以參考下
    2024-07-07

最新評論

武川县| 仲巴县| 无锡市| 景谷| 东乡县| 庆城县| 扎兰屯市| 富阳市| 万州区| 齐齐哈尔市| 大丰市| 桃江县| 古浪县| 修水县| 大安市| 漳州市| 襄汾县| 辽中县| 安徽省| 武义县| 永泰县| 涞源县| 会宁县| 泊头市| 乃东县| 松滋市| 永修县| 和硕县| 瓦房店市| 哈巴河县| 达孜县| 乐清市| 澎湖县| 佛山市| 灌云县| 伊宁县| 黎川县| 印江| 自贡市| 敦化市| 浪卡子县|