-2

我使用以下代码设置了动态生成的选择控件的 className 属性:

oField.className ="select";   

它适用于 Firefox,不适用于 Internet Explorer。如何在 IE 上设置此属性?

编码:

var oField = document.createElement("select");  
if(browser == "IE"){  
    oField.size = 1;  
    oField.setAttribute("name","sele"+num); 
    oField.onChange = function(){
        AggiungiRiga(oField.name,oField.value)
    };
}  
else{  
   oField.setAttribute("size",1);
   oField.setAttribute("name","sele"+num);
   oField.setAttribute("onChange","AggiungiRiga(this.name,this.value)");
}  
oField.className ="select";  

在这里,我将其添加到文档中:

oTd1.appendChild(oField);

oTd1<td>必须放置选择控件的元素)。我知道代码质量不好,因为是遗留代码。

4

2 回答 2

0

我看不到任何appendChild()方法,你在哪里附加select element

不将 附加oField到文档可能会导致您出现问题。

例如:

document.body.appendChild(oField);

变量browsernum声明从哪里来?我想如果它在 FF num 中工作被声明。

 var oField = document.createElement("select");

 oField.size = 1;
 oField.name = "sele" + num; 

 oField.onChange = function(){AggiungiRiga(oField.name,oField.value)};

 oField.className = "select";

 document.getElementById('tabella').getElementsByTagName('TBODY')[0].childNodes[0].firstChild.appendChild(oField)

你知道什么会让我有一个简单idTD并且它工作,如果你有TD id=""任何方法,如果你希望将选择放在第一个 TD 中,我会更容易,这将完成上面显示的示例

   document.getElementById('tabella').getElementsByTagName('TBODY')[0].childNodes[0].firstChild.appendChild(oField)

但是,您需要使表格紧凑

<table id="tabella"><tr><td></td></tr></table>
于 2011-11-02T12:37:26.067 回答
-6

你为什么不尝试用 jquery 来做:

$('#idElement').attr('class', 'classname');

或者只是使用 javascript :

document.getElementById("idElement").setAttribute("class", "className");
于 2011-11-02T12:26:00.413 回答