国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 語言 > JavaScript > 正文

跨瀏覽器開發經驗總結(三) 警惕“IE依賴綜合癥”

2024-05-06 14:10:03
字體:
來源:轉載
供稿:網友
DHTML
DHTML是個好東西,大大方面了前端的交互實現,使得獲取頁面元素以及動態修改頁面元素變的簡單無比。但是所有的瀏覽器都認識這些語法嗎?
document.all
document.all不是所有瀏覽器都能識別,要寫出更通用的代碼,最好還是通過id來得到,使用document.getElementById(…)
element.outerText, element.innerText, element.outerHTML,element.innerHTML
element.outerText, element.innerText, element.outerHTML是屬于IE特有的, 而element.innerHTML是通用的。
如果要在其他瀏覽器下使用不通用的屬性,可以參考以下代碼實現:
代碼如下:
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來獲取名為actionForm的標單中名為title的input域值得地方,應該改為document.forms.actionForm.input.value,要這么使用,首先要保證HTML中form標簽與其他標簽結構上有完整的閉合關系。
Table操作
moveRow ( iSource , iTarget )方法
oRow = tableObject.moveRow ( iSource , iTarget ),這個方法可以很方便實現table中tr的動態順序調整。但是這個方法是IE內核自己實現的,不是DOM標準方法,所以別的瀏覽器沒有。在使用到了這些IE獨有的方法的地方,要么換用標準的DOM節點操縱方式——insertBefore(currobj, beforeObj.nextSibling),要么先在HTMLDocument類的prototype上自己實現一個 moveRow方法:
代碼如下:
function getTRArray(){
……
//將需要操縱的tr都放入數組作為該方法的返回值
}

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

if( !isIE && HTMLElement.moveRow == null )
{
//入參說明:
//sourceELIndex :需要移動的tr在tbody中的第幾行(>=1)
//targetELIndex :需要移動到tbody中的第幾行(>=1,<=行數)
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;
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表

圖片精選

主站蜘蛛池模板: 桐乡市| 盐池县| 桦川县| 禄丰县| 崇信县| 定结县| 平江县| 东丰县| 青冈县| 宜良县| 迁西县| 马尔康县| 遵义市| 勃利县| 温宿县| 上杭县| 遵化市| 黔南| 班玛县| 南雄市| 永顺县| 新田县| 郎溪县| 惠东县| 涞水县| 湖北省| 全州县| 嘉荫县| 甘肃省| 甘孜县| 云林县| 杨浦区| 鄂托克旗| 阿尔山市| 台东县| 景洪市| 湖北省| 慈利县| 太康县| 修文县| 昭平县|