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

跨瀏覽器開發(fā)經(jīng)驗(yàn)總結(jié)(三)   警惕“IE依賴綜合癥”

 更新時(shí)間:2010年05月13日 19:30:33   作者:  
跨瀏覽器開發(fā)經(jīng)驗(yàn)總結(jié)(三) 警惕“IE依賴綜合癥”
DHTML
DHTML是個(gè)好東西,大大方面了前端的交互實(shí)現(xiàn),使得獲取頁(yè)面元素以及動(dòng)態(tài)修改頁(yè)面元素變的簡(jiǎn)單無(wú)比。但是所有的瀏覽器都認(rèn)識(shí)這些語(yǔ)法嗎?
document.all
document.all不是所有瀏覽器都能識(shí)別,要寫出更通用的代碼,最好還是通過(guò)id來(lái)得到,使用document.getElementById(…)
element.outerText, element.innerText, element.outerHTML,element.innerHTML
element.outerText, element.innerText, element.outerHTML是屬于IE特有的, 而element.innerHTML是通用的。
如果要在其他瀏覽器下使用不通用的屬性,可以參考以下代碼實(shí)現(xiàn):
復(fù)制代碼 代碼如下:

if(!isIE()){
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].innerText;
else if(childS[i].nodeType==3)
anyString += ahildS[i].nodeValue;
}
return anyString;
}
);
HTMLElement.prototype.__defineSetter__("innerText",
function(sText){
this.textContent=sText;
}
);
}

document.forms.actionForm.inputName.value
之前用document.all.title.value來(lái)獲取名為actionForm的標(biāo)單中名為title的input域值得地方,應(yīng)該改為document.forms.actionForm.input.value,要這么使用,首先要保證HTML中form標(biāo)簽與其他標(biāo)簽結(jié)構(gòu)上有完整的閉合關(guān)系。
Table操作
moveRow ( iSource , iTarget )方法
oRow = tableObject.moveRow ( iSource , iTarget ),這個(gè)方法可以很方便實(shí)現(xiàn)table中tr的動(dòng)態(tài)順序調(diào)整。但是這個(gè)方法是IE內(nèi)核自己實(shí)現(xiàn)的,不是DOM標(biāo)準(zhǔn)方法,所以別的瀏覽器沒(méi)有。在使用到了這些IE獨(dú)有的方法的地方,要么換用標(biāo)準(zhǔn)的DOM節(jié)點(diǎn)操縱方式——insertBefore(currobj, beforeObj.nextSibling),要么先在HTMLDocument類的prototype上自己實(shí)現(xiàn)一個(gè) moveRow方法:
復(fù)制代碼 代碼如下:

function getTRArray(){
……
//將需要操縱的tr都放入數(shù)組作為該方法的返回值
}

function getTRByIndex(sourceELIndex){
var trArray = getTRArray();
var result = trArray[sourceELIndex];
return result;
}

if( !isIE && HTMLElement.moveRow == null )
{
//入?yún)⒄f(shuō)明:
//sourceELIndex :需要移動(dòng)的tr在tbody中的第幾行(>=1)
//targetELIndex :需要移動(dòng)到tbody中的第幾行(>=1,<=行數(shù))
HTMLElement.prototype.moveRow = function(sourceELIndex,targetELIndex)
{
var tbObject = document.getElementById("tbodyEL");
var resultEL;

if(sourceELIndex>=targetELIndex)
{//move up
var s = sourceELIndex-1;
var t = targetELIndex-1;
}else{
var s = sourceELIndex-1;
var t = targetELIndex;
}
var sourceEL = getTRByIndex(s);
var targetEL = getTRByIndex(t);
//alert("begin"+sourceELIndex+targetELIndex);
//alert("begin"+s+t);
tbObject.insertBefore(sourceEL,targetEL);
resultEL = sourceEL;
return resultEL;
}
}

相關(guān)文章

  • JavaScript監(jiān)聽手機(jī)物理返回鍵的兩種解決方法

    JavaScript監(jiān)聽手機(jī)物理返回鍵的兩種解決方法

    JavaScript沒(méi)有監(jiān)聽物理返回鍵的API,所以只能使用 popstate 事件監(jiān)聽。接下來(lái)通過(guò)本文給大家分享JavaScript監(jiān)聽手機(jī)物理返回鍵的兩種解決方法,感興趣的朋友一起看看吧
    2017-08-08
  • NestJS使用class-validator進(jìn)行數(shù)據(jù)驗(yàn)證

    NestJS使用class-validator進(jìn)行數(shù)據(jù)驗(yàn)證

    本文將通過(guò)詳細(xì)的步驟和實(shí)戰(zhàn)技巧,帶大家掌握如何在NestJS中使用class-validator進(jìn)行數(shù)據(jù)驗(yàn)證,以及11條實(shí)戰(zhàn)中常用的驗(yàn)證技巧,感興趣的可以了解下
    2024-11-11
  • Bootstrap插件全集

    Bootstrap插件全集

    這篇文章主要為大家詳細(xì)介紹了Bootstrap插件,包括Bootstrap過(guò)渡效果插件、Bootstrap下拉菜單插件等,感興趣的小伙伴們可以參考一下
    2016-07-07
  • 微信小程序錯(cuò)誤this.setData報(bào)錯(cuò)及解決過(guò)程

    微信小程序錯(cuò)誤this.setData報(bào)錯(cuò)及解決過(guò)程

    這篇文章主要介紹了微信小程序錯(cuò)誤this.setData報(bào)錯(cuò)及解決過(guò)程,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2019-09-09
  • js 與或運(yùn)算符 || && 妙用

    js 與或運(yùn)算符 || && 妙用

    js 與或運(yùn)算符 || && 妙用,可用于精簡(jiǎn)代碼,降低程序的可讀性。
    2009-12-12
  • js加減乘除丟失精度問(wèn)題解決方法

    js加減乘除丟失精度問(wèn)題解決方法

    在javascript中,帶小數(shù)的數(shù)據(jù)運(yùn)算時(shí)總會(huì)出現(xiàn)好多位小數(shù).這是因?yàn)樵趈avascript中浮點(diǎn)數(shù)的計(jì)算是以2進(jìn)制計(jì)算的
    2014-05-05
  • JavaScript判斷微信瀏覽器實(shí)例代碼

    JavaScript判斷微信瀏覽器實(shí)例代碼

    本文給大家介紹如何判斷用戶是否是用微信瀏覽器的實(shí)例代碼,根據(jù)關(guān)鍵字 MicroMessenger 來(lái)判斷是否是微信內(nèi)置的瀏覽器,感興趣的朋友可以參考下實(shí)現(xiàn)代碼
    2016-06-06
  • js仿手機(jī)頁(yè)面文件下拉刷新效果

    js仿手機(jī)頁(yè)面文件下拉刷新效果

    這篇文章主要為大家詳細(xì)介紹了js仿手機(jī)頁(yè)面文件的下拉刷新,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2016-10-10
  • js比較日期大小的方法

    js比較日期大小的方法

    這篇文章主要介紹了js比較日期大小的方法,涉及javascript日期的轉(zhuǎn)化、匹配、比較等常用操作技巧,需要的朋友可以參考下
    2015-05-05
  • jQuery animate()實(shí)現(xiàn)背景色漸變效果的處理方法【使用jQuery.color.js插件】

    jQuery animate()實(shí)現(xiàn)背景色漸變效果的處理方法【使用jQuery.color.js插件】

    這篇文章主要介紹了jQuery animate()實(shí)現(xiàn)背景色漸變效果的處理方法,結(jié)合實(shí)例形式分析了jQuery顏色插件jquery.color.js實(shí)現(xiàn)背景色漸變的簡(jiǎn)單操作技巧,需要的朋友可以參考下
    2017-03-03

最新評(píng)論

文化| 普定县| 加查县| 平舆县| 科技| 鄂托克前旗| 澜沧| 平果县| 麦盖提县| 凉城县| 静海县| 磴口县| 桂东县| 望江县| 天台县| 轮台县| 博客| 来凤县| 湘西| 荣昌县| 峨眉山市| 铜山县| 晋州市| 荆州市| 万年县| 濉溪县| 县级市| 镇坪县| 监利县| 金阳县| 诸城市| 衡东县| 文安县| 岑溪市| 凌云县| 浮山县| 北川| 南岸区| 渑池县| 宜丰县| 波密县|