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

javascript轉(zhuǎn)換字符串為dom對象(字符串動態(tài)創(chuàng)建dom)

 更新時間:2010年05月10日 18:24:17   作者:  
那么今天的目的就是教大家怎么去實現(xiàn)一個這樣的方法用來把字符串直接轉(zhuǎn)換為標(biāo)準(zhǔn)的dom對象
前言:
在javascript里面動態(tài)創(chuàng)建標(biāo)準(zhǔn)dom對象一般使用:
var obj = document.createElement('div');
然后再給obj設(shè)置一些屬性。
但是,在實際使用過程中,有些人可能會想,要是能這樣創(chuàng)建標(biāo)準(zhǔn)的dom對象就好了
偽代碼:var obj=strToDom('<div id="div_1" class="div1">Hello World!</div>');
那么今天的目的就是教大家怎么去實現(xiàn)一個這樣的方法用來把字符串直接轉(zhuǎn)換為標(biāo)準(zhǔn)的dom對象

start:
其實實現(xiàn)這樣的一個轉(zhuǎn)換是很簡單的,這里主要是利用了一個屬性innerHTML.
innerHTML,我相信大家都使用過,特別是動態(tài)往一個元素里面插內(nèi)容時使用,這里我還是在介紹下innerHTML,方便于還不太熟悉的人。
innerHTML不是w3c標(biāo)準(zhǔn),是由ie發(fā)明創(chuàng)造出來的,但是由于這個屬性的方便性,和當(dāng)時微老大的地位,其它非ie瀏覽器也內(nèi)置了innerHTML并給出了支持。
雖然innerHTML不是w3c標(biāo)準(zhǔn),但是卻是一個事實標(biāo)準(zhǔn),這個事實標(biāo)準(zhǔn)很重要,也就是目前主流瀏覽器都支持innerHTML,自然就做到了兼容多瀏覽器。
code:
復(fù)制代碼 代碼如下:

function parseDom(arg) {
   var objE = document.createElement("div");
   objE.innerHTML = arg;
   return objE.childNodes;
};

短短幾行代碼就實現(xiàn)了轉(zhuǎn)換,我們首先用標(biāo)準(zhǔn)的方法創(chuàng)建一個div出來,在用innerHTML來插入一個元素,其實也就是利用瀏覽器自己的內(nèi)核算法來實現(xiàn)的一個轉(zhuǎn)換。在用childNodes返回出來。
這樣我們就完成了一個字符串到標(biāo)準(zhǔn)dom的轉(zhuǎn)換,巧妙的利用瀏覽器本身的算法,可以用簡單少量的代碼來完成大量復(fù)雜的轉(zhuǎn)換,我們不用去解析字符串,而是交給瀏覽器自己來完成,這樣既準(zhǔn)確又無誤。
使用:
復(fù)制代碼 代碼如下:

var obj=parseDom('<div id="div_1" class="div1">Hello World!</div>');
var obj=parseDom('<div id="div_1" class="div1">Hello World!</div><span>多個也沒關(guān)系</span>');

注意:
childNodes返回的是一個類似數(shù)組的list。所以如果是一個元素,要使用這個dom需要這樣使用obj[0]。如果是多個同級的dom轉(zhuǎn)換,可以這樣使用obj[0]、obj[1]…
end

到這里就結(jié)束了,在這里向大家推薦一個我自己寫的js框架,上面的這個方法集成在框架里面了
使用:b$.parseDom('<div id="div_1" class="div1">Hello World!</div>')

bBank 開源Javascript框架

相關(guān)文章

最新評論

利辛县| 德安县| 松滋市| 沅江市| 丹阳市| 成武县| 庄浪县| 山丹县| 涞水县| 裕民县| 太湖县| 雷波县| 江北区| 潼南县| 舟山市| 巴彦淖尔市| 南阳市| 九寨沟县| 勐海县| 洪雅县| 察哈| 津南区| 墨竹工卡县| 深水埗区| 濮阳市| 监利县| 湖南省| 洮南市| 饶河县| 通江县| 醴陵市| 博客| 玛纳斯县| 东台市| 花垣县| 大石桥市| 容城县| 道孚县| 枣庄市| 孙吴县| 同江市|