Javascript 为什么这在Chrome中有效而在firefox中无效? 函数填充(colname){ 变量numRows,i,toCopy,迭代名称; numRows=document.getElementById('malesTable').rows.length+document.getElementById('femalesTable').rows.length-2; //获取行数,减去标题行的两行(公行和母行) toCopy=document.getElementById(colname.id).value; i=1; //迭代id和输入值 对于(i;i
当您这样做时:Javascript 为什么这在Chrome中有效而在firefox中无效? 函数填充(colname){ 变量numRows,i,toCopy,迭代名称; numRows=document.getElementById('malesTable').rows.length+document.getElementById('femalesTable').rows.length-2; //获取行数,减去标题行的两行(公行和母行) toCopy=document.getElementById(colname.id).value; i=1; //迭代id和输入值 对于(i;i,javascript,firefox,google-chrome,Javascript,Firefox,Google Chrome,当您这样做时: function fill (colname) { var numRows, i, toCopy, iterated_name; numRows = document.getElementById('malesTable').rows.length + document.getElementById('femalesTable').rows.length - 2; //gets number of rows, subtracts two for head
function fill (colname) {
var numRows, i, toCopy, iterated_name;
numRows = document.getElementById('malesTable').rows.length + document.getElementById('femalesTable').rows.length - 2;
//gets number of rows, subtracts two for header rows(male and female)
toCopy = document.getElementById(colname.id).value;
i = 1;
//iterate over id's and input values
for (i; i <= numRows; i++){
iterated_name = colname.id + "_" + i;
document.getElementById(iterated_name).value = toCopy;
}
}
您在Firefox中传入了未定义的元素,但在Chrome中传入了一个元素,因为Chrome会使所有带有ID的元素污染全局范围
当你说“它(在Firefox中)不工作”时,你大概是指
fill(document.getElementById(“external\u id”)
?,这意味着什么?你得到了什么输出/行为?你也可以用完整的html和js代码制作JSFIDLE。非常感谢,javascript是新手,所以这些小东西可能会很烦人。非常感谢。
fill(external_id);