在FF與其他瀏覽器(不含IE)
1.若要設定元素的class屬性,可以用 setAttribute方法來設定,如下
var inputElmt = document.createElement('input');
inputElmt.setAttribute('class', 'column');
但IE不吃這套,而吃 className 屬性名稱,如下
inputElmt.setAttribute('className', 'column');
所以 ~完整解決方法
var inputElmt = document.createElement('input');
inputElmt.setAttribute('className', 'column');
inputElmt.setAttribute('class', 'column');
寫上兩個~不需要另外辨別瀏覽器!
2.若要為其加入事件
if(document.all) //for IE
{
inputElmt.onclick = function(){ pantosetedArea(this.value) ; };
}
else inputElmt.setAttribute('onClick', "pantosetedArea(this.value)");
其中pantosetedArea(參數)是自訂函式
3.另外,若要產生預設勾選的checkbox
function createInputcheck(elmtName,elmtValue) {
elmtName = elmtName ? elmtName : '';
elmtValue = elmtValue ? elmtValue : 'yes';
var ischecked = (elmtValue=='0')? "false" : "true" ;
var inputElmt = document.createElement('input');
inputElmt.setAttribute('type', 'checkbox');
inputElmt.setAttribute('name', elmtName);
inputElmt.setAttribute('value', elmtValue);
if(elmtValue=="yes") inputElmt.setAttribute('checked', ischecked);
inputElmt.setAttribute('onClick', "checkSMS(this)")
inputElmt.setAttribute('class', 'column');
return inputElmt;
}
var sendSMSInput = createInputcheck('sSMS');
var contentTdM = document.createElement('td');
contentTdM.appendChild(sendSMSInput);
var contentTr = document.createElement('tr');
contentTr.appendChild( contentTdM );
sendSMSInput.setAttribute('checked', true);
在FF中,函式中的此行 if(elmtValue=="yes") inputElmt.setAttribute('checked', ischecked);會馬上成立,但在IE中,要為checkbox 賦值,必須等到 appendchild後才可以操作checkbox 賦值
2009年6月10日 星期三
訂閱:
張貼留言 (Atom)
沒有留言:
張貼留言
try comments