function main(){
var delImage=document.createElement("img");
delImage.setAttribute("alt","Edit");
delImage.setAttribute("src","drop.png");
var position=newRow.rowIndex;
var typeElem=document.createElement("a");
typeElem.setAttribute("name","delete");
typeElem.setAttribute("href","#");
typeElem.appendChild(delImage);
typeElem.setAttribute('onclick',"delete(position)");
newRow.insertCell(lastCell).appendChild(typeElem);
}
function delete(pos){
alert(pos);
}
单击锚标签时无法调用删除功能...我想改变什么来实现这一目标?
答案 0 :(得分:0)
尝试
typeElem.onclick = function(){
delete(position);
};
并且最好使用更有意义的名称,例如deletePosition或类似的东西
答案 1 :(得分:0)
尝试更改:
typeElem.setAttribute('onclick',"delete(position)");
到
typeElem.setAttribute('onclick',"delete(" + position + ")");
答案 2 :(得分:0)
IE处理setAttribute
与其他浏览器不同,尤其是事件处理程序属性。出于这个原因并且为了更简单的代码,更容易避免使用已存在DOM属性的setAttribute
,这通常在浏览器中统一工作。另外,请避免在JavaScript中使用以运算符命名的函数。特别是在这种情况下,我将重命名delete()
函数。
function main() {
var delImage = document.createElement("img");
delImage.alt = "Edit";
delImage.src = "drop.png";
var position = newRow.rowIndex;
var typeElem = document.createElement("a");
typeElem.name = "delete";
typeElem.href = "#";
typeElem.appendChild(delImage);
typeElem.onclick = function() {
doDelete(position);
};
newRow.insertCell(lastCell).appendChild(typeElem);
typeElem = null;
}
function doDelete(pos){
alert(pos);
}