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

js有關(guān)元素內(nèi)容操作小結(jié)

 更新時間:2011年12月20日 01:39:09   作者:  
最近在研習(xí)“犀牛書6th”,看完Element Content as HTML一節(jié),就想隨即展開寫點東西記錄記錄
1.innerHTML
這個大家一定都很熟悉,可讀可寫,修改元素內(nèi)容相當(dāng)快捷方便,在兼容問題上可以參考W3Help中一個知識記錄。

2.outerHTML
此方法可以用于對元素自身的快速替換,比如:
復(fù)制代碼 代碼如下:

<p id="hello">Hello, I am a demo</p>
$('hello').outerHTML = '<p>Hello, I am a replacement</p>';

遺憾的是,firefox目前還不支持(我當(dāng)前用firefox8),其他瀏覽器支持的還不錯,在ff中可以用innerHTML來模擬實現(xiàn)。

3.documentFragment
DocumentFragment能實現(xiàn)高效率的DOM節(jié)點插入操作,我們可以新建一個DocumentFragment。

var docFragment = document.createDocumentFragment();

它支持元素節(jié)點的appendChild方法,可以利用它進行追加節(jié)點,相當(dāng)于內(nèi)存中的一個臨時空間, 然后一次性加入DOM Tree中,較少瀏覽器相關(guān)的reflow和repaint事件,在之前的博文中有提到。

4.insertAdjacentHTML
這個方法很有意思,是IE4最先引入的,目前也寫入了HTML5標(biāo)準(zhǔn),目前所有瀏覽器都支持,ff是8才剛開始支持的。 它能夠?qū)崿F(xiàn)在元素的里外,共4個地方靈活的添加內(nèi)容,例如:

復(fù)制代碼 代碼如下:

<!-- beforebegin --><p id="test"><!-- afterbegin -->hello, I am a demo.<!-- beforeend--></p><!-- afterend-->
$('test').insertAdjacentHTML('beforebegin', /* your content here */);

這確實很cool不是么,但遺憾的是,IE自己引入,確在IE6~8的版本中存在不少bug,比如我測試中遇到如果元素是div的話, 能夠在四個地方,都能順利插入內(nèi)容,這是我們所預(yù)期的,但是我換成p元素的話,‘beforebegin'和‘a(chǎn)fterend'就會報錯, 它變得只支持p外部的內(nèi)容插入,不允許插入到p的內(nèi)部,還有tr,td不支持此方法等各種bug。IE9測下來,表現(xiàn)預(yù)期。 關(guān)于這個方法jQuery之父,有篇博客有講,感興趣的可以稍微參考下http://ejohn.org/blog/dom-insertadjacenthtml/

5.textContent
這個是針對元素中的文本內(nèi)容的操作,提取元素本身和其子元素中文本內(nèi)容,這個用的頻率不是很高,但還是要知道下, 比如:

復(fù)制代碼 代碼如下:

<div id="test"><p>whatever, blah blah.</p>hello,I am a <em>Demo</em></div>
$('test').textContent //whatever, blah blah.hello, I am a Demo

把文本直接連接起來。IE9+和其他瀏覽器都很好的支持此方法。

6.innerText
這個也是由IE最初引入的,除了firefox,目前其他瀏覽器也都支持,但是結(jié)果有些微妙的不同。在opera中,結(jié)果和textContent一致,在chrome中,與包含該文本元素的樣式有關(guān)。在IE9中,與包含該文本元素的樣式有關(guān)。 事實上,innerText和textContent看似差不多,但還是有一些值得注意的不同之處。 具體MDN上有一定的說明:

1.textContent能夠獲取script,style元素中得文本。innerText不行

2.innerText結(jié)果跟樣式有關(guān),不能獲取隱藏元素的文本內(nèi)容,textContent則不受限制

3.innerText會觸發(fā)瀏覽器內(nèi)部的reflow事件,而textContent不會,這個對效率有點影響。

當(dāng)然對于IE6~8,我們可以比較容易地通過遍歷節(jié)點來實現(xiàn)textContent的效果。如犀牛書中所給出的解決方法:

復(fù)制代碼 代碼如下:

function textContent(e) {
var child, type, s = []; // s holds the text of all children
for(child = e.firstChild; child != null; child = child.nextSibling) {
type = child.nodeType;
if(type === 3 || type === 4) { //Text and CDATASection nodes
s.push(child.nodeValue);
} else if(type === 1) {
s.push(textContent(child));
}
return s.join('');
}
}

相關(guān)文章

  • 游戲開發(fā)中如何使用CocosCreator進行音效處理

    游戲開發(fā)中如何使用CocosCreator進行音效處理

    這篇文章主要介紹了游戲開發(fā)中如何使用CocosCreator進行音效處理,并對音效組件進行封裝,方便以后使用,同學(xué)們看完之后,一定要親手實驗一下
    2021-04-04
  • 在javascript中實現(xiàn)函數(shù)數(shù)組的方法

    在javascript中實現(xiàn)函數(shù)數(shù)組的方法

    js不進行類型檢查,數(shù)組可以存放任何東西。于是我就想數(shù)組里可否存放函數(shù)呢,下面就為大家詳細(xì)介紹下
    2013-12-12
  • JavaScript+html5 canvas繪制繽紛多彩的三角形效果完整實例

    JavaScript+html5 canvas繪制繽紛多彩的三角形效果完整實例

    這篇文章主要介紹了JavaScript+html5 canvas繪制繽紛多彩的三角形效果,以完整實例形式分析了html5的canvas繪制圖形的相關(guān)技巧,需要的朋友可以參考下
    2016-01-01
  • js Clip奇思妙想之多彩漸變字效果

    js Clip奇思妙想之多彩漸變字效果

    本篇我們用同樣的原理,把文字用CLIP屬性分的更細(xì),分別著色,然后組合到一起,實現(xiàn)自左到右更精確的色彩漸變。問題是文字細(xì)化分割需要用到很多很多個元素,所以這里我們要用程序來控制,自動生成這些元素。
    2008-11-11
  • Bootstrap布局組件應(yīng)用實例講解

    Bootstrap布局組件應(yīng)用實例講解

    這篇文章主要針對Bootstrap布局組件應(yīng)用進行實例講解,感興趣的小伙伴們可以參考一下
    2016-02-02
  • uniapp組件uni-popup彈出層的使用

    uniapp組件uni-popup彈出層的使用

    彈出層組件用于彈出一個覆蓋到頁面上的內(nèi)容,本文主要介紹了uniapp組件uni-popup彈出層的使用,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2022-03-03
  • JS 學(xué)習(xí)筆記 防止發(fā)生命名沖突

    JS 學(xué)習(xí)筆記 防止發(fā)生命名沖突

    為了防止發(fā)生命名沖突,可以建立自己的代碼庫。
    2009-07-07
  • 在JavaScript中對HTML進行反轉(zhuǎn)義詳解

    在JavaScript中對HTML進行反轉(zhuǎn)義詳解

    下面小編就為大家?guī)硪黄贘avaScript中對HTML進行反轉(zhuǎn)義詳解。小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2016-05-05
  • javascript每日必學(xué)之繼承

    javascript每日必學(xué)之繼承

    javascript每日必學(xué)之繼承,介紹了有關(guān)繼承的相關(guān)內(nèi)容,感興趣的小伙伴們可以參考一下
    2016-02-02
  • JavaScript實現(xiàn)簡單抽獎系統(tǒng)

    JavaScript實現(xiàn)簡單抽獎系統(tǒng)

    這篇文章主要為大家詳細(xì)介紹了JavaScript實現(xiàn)簡單抽獎系統(tǒng),文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2022-03-03

最新評論