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

javascript getElementsByClassName 和js取地址欄參數(shù)

 更新時間:2010年01月02日 02:45:38   作者:  
為了從一大堆HTML代碼中找出我們的樹狀菜單(也許有多個),我們先來實(shí)現(xiàn)一個通過className找DOM節(jié)點(diǎn)的方法:getElementsByClassName。這是對瀏覽器自有DOM方法的一個簡單但實(shí)用的擴(kuò)充。
getElementsByClassName()
  為了從一大堆HTML代碼中找出我們的樹狀菜單(也許有多個),我們先來實(shí)現(xiàn)一個通過className找DOM節(jié)點(diǎn)的方法:getElementsByClassName。這是對瀏覽器自有DOM方法的一個簡單但實(shí)用的擴(kuò)充。

  此方法有兩個參數(shù):ele指出以哪個DOM節(jié)點(diǎn)為根節(jié)點(diǎn)尋找(也就是說只找ele的子節(jié)點(diǎn)),className指出符合條件的節(jié)點(diǎn)的class屬性中必須包含怎樣的className。它的返回值是一個數(shù)組,存放了所有符合條件的節(jié)點(diǎn)。
復(fù)制代碼 代碼如下:

function getElementsByClassName(ele,className) {
//獲取所有子節(jié)點(diǎn)
if(document.all){
var children = ele.all;
}else{
var children = ele.getElementsByTagName('*');
}
//遍歷子節(jié)點(diǎn)并檢查className屬性
var elements = new Array();
for (var i = 0; i < children.length; i++) {
var child = children[i];
var classNames = child.className.split(' ');
for (var j = 0; j < classNames.length; j++) {
if (classNames[j] == className) {
elements[elements.length] = child;
break;
}
}
}
return elements;
}

var trees = getElementsByClassName(document,'TreeView');

  最前面的一個if-else語是為了兼容IE5(IE5不能運(yùn)行
document.getElementsByTagName('*'))。需要注意的是千萬不要用瀏覽器檢測的方法來寫腳本,而應(yīng)該直接使用將要用到的語句來測試是否可以執(zhí)行,如果返回值為null或undefined,那再換一種方法。這樣的腳本可以有更好的兼容性,也更健壯。
elements[elements.length] = child;,這句同樣是為了兼容IE5才沒有使用數(shù)組
的push方法。如果你一定要使用push方法,那么可以在執(zhí)行g(shù)etElementsByClassName()
之前先重載一遍push方法。代碼如下:

Array.prototype.push = function(value){
this[this.length] = value;
}  注:原本我希望getElementsByClassName也能像push方法一樣寫,比如
HTMLElement.prototype.getElementsByClassName = ...。不過實(shí)際操作的時候發(fā)現(xiàn)在
運(yùn)行時HTMLElement這個對象并不是固定的,每種tag似乎都不一樣,只能作罷。

取地址欄參數(shù)
復(fù)制代碼 代碼如下:

//v1:
var URLParams = new Array();
var aParams = document.location.search.substr(1).split('&');
for (i=0; i < aParams.length i++){
var aParam = aParams.split('=');
URLParams[aParam[0]] = aParam[1];
}
//取得傳過來的name參數(shù)
name=URLParams['name'];

//v2:
Request = {
QueryString : function(item){
var svalue = location.search.match(new
RegExp('[\?\&]' + item + '=([^\&]*)(\&?)','i'));
return svalue ? svalue[1] : svalue;
}
}
var key = Request.QueryString('key');

相關(guān)文章

  • JS獲取地址欄參數(shù)的幾種方法小結(jié)

    JS獲取地址欄參數(shù)的幾種方法小結(jié)

    本篇文章主要是對JS獲取地址欄參數(shù)的幾種方法進(jìn)行了介紹,需要的朋友可以過來參考下,希望對大家有所幫助
    2014-02-02
  • js常用代碼段整理

    js常用代碼段整理

    以下是平時收集的幾個常用代碼段,大多數(shù)是從網(wǎng)上搜集而來。也均為未找到是誰誰原創(chuàng),是否允許轉(zhuǎn)載等要求, 所以如果看到的朋友發(fā)現(xiàn)其中有些代碼是自己寫的,還請?jiān)徳谙罗D(zhuǎn)帖出來
    2011-11-11
  • JavaScript中的ubound函數(shù)使用實(shí)例

    JavaScript中的ubound函數(shù)使用實(shí)例

    這篇文章主要介紹了JavaScript中的ubound函數(shù)使用實(shí)例,本文先是講解了ubound函數(shù)的語法,然后給出了用法代碼實(shí)例,需要的朋友可以參考下
    2014-11-11
  • JavaScript中V8引擎的垃圾回收機(jī)制詳解

    JavaScript中V8引擎的垃圾回收機(jī)制詳解

    V8是Google開發(fā)的JavaScript引擎,采用分代垃圾回收機(jī)制自動管理內(nèi)存,包括新生代和老生代,新生代使用Scavenge算法快速回收短生命周期對象,老生代使用標(biāo)記-清除和標(biāo)記-整理算法優(yōu)化長期存活對象的回收,V8通過增量標(biāo)記、并發(fā)GC和增量壓縮等優(yōu)化策略減少垃圾回收對性能的影響
    2025-02-02
  • JS實(shí)現(xiàn)鼠標(biāo)拖拽盒子移動及右鍵點(diǎn)擊盒子消失效果示例

    JS實(shí)現(xiàn)鼠標(biāo)拖拽盒子移動及右鍵點(diǎn)擊盒子消失效果示例

    這篇文章主要介紹了JS實(shí)現(xiàn)鼠標(biāo)拖拽盒子移動及右鍵點(diǎn)擊盒子消失效果,涉及javascript事件響應(yīng)及頁面元素屬性動態(tài)操作相關(guān)實(shí)現(xiàn)技巧,需要的朋友可以參考下
    2019-01-01
  • JavaScript實(shí)現(xiàn)簡單圖片滾動附源碼下載

    JavaScript實(shí)現(xiàn)簡單圖片滾動附源碼下載

    JavaScript實(shí)現(xiàn)簡單圖片滾動,9張圖告訴你,C羅欲哭無淚,另附源碼下載,方便學(xué)習(xí)
    2014-06-06
  • JS模板實(shí)現(xiàn)方法

    JS模板實(shí)現(xiàn)方法

    我們在使用JS渲染DOM時,一般使用字符串創(chuàng)建DOM然后附加到父元素上,如果附加的DOM是動態(tài)易變的,那需要在函數(shù)中寫大量邏輯。如果在控件實(shí)現(xiàn)過程中,這帶來的問題更為嚴(yán)重。
    2013-04-04
  • JavaScript分頁組件使用方法詳解

    JavaScript分頁組件使用方法詳解

    這篇文章主要為大家詳細(xì)介紹了JavaScript分頁組件使用方法,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2021-07-07
  • JS中的Date()使用小結(jié)

    JS中的Date()使用小結(jié)

    Date() 日期對象是一個構(gòu)造函數(shù)必須使用new來調(diào)用創(chuàng)建我們的日期對象,本文給大家介紹JS中的Date()使用小結(jié),感興趣的朋友一起看看吧
    2024-01-01
  • 《javascript設(shè)計(jì)模式》學(xué)習(xí)筆記四:Javascript面向?qū)ο蟪绦蛟O(shè)計(jì)鏈?zhǔn)秸{(diào)用實(shí)例分析

    《javascript設(shè)計(jì)模式》學(xué)習(xí)筆記四:Javascript面向?qū)ο蟪绦蛟O(shè)計(jì)鏈?zhǔn)秸{(diào)用實(shí)例分析

    這篇文章主要介紹了Javascript面向?qū)ο蟪绦蛟O(shè)計(jì)鏈?zhǔn)秸{(diào)用,結(jié)合實(shí)例形式分析了《javascript設(shè)計(jì)模式》中鏈?zhǔn)秸{(diào)用的原理與簡單使用技巧,需要的朋友可以參考下
    2020-04-04

最新評論

龙州县| 永丰县| 栖霞市| 双柏县| 宁武县| 博兴县| 金秀| 宝应县| 湘阴县| 利川市| 治多县| 察雅县| 泸西县| 武定县| 从化市| 会东县| 彰化县| 富平县| 罗定市| 宁国市| 扶余县| 加查县| 修武县| 山阴县| 临泽县| 贺兰县| 武夷山市| 那坡县| 公主岭市| 抚松县| 台南县| 尉氏县| 琼中| 黄冈市| 澎湖县| 淮南市| 宽甸| 宁明县| 巩留县| 扶余县| 资阳市|