我猜我有点不同寻常。我有此功能deleteItem
其的onclick触发,并具有以下参数通过字符串将html对象传递到函数中
function dItem(type,id,element,confirmed){
if(confirmed){
handle delete function
}else{
var c = ',';
popup('Are you sure you want to delete this item?',
{
"Yes":"dItem('"+type+"'"+c+id+c+element+c+true+")",
"Cancel":"popupClose()"
}
)
}
}
.. onclick='dItem("comment",15,this,false)' ..
在popup()
的第二个参数被传递要被显示在弹出的按钮和功能它们分别调用。问题是,element
是一个HTMLDIV element
,我不能找出一个简洁的方式来通过一个字符串。我能想到的唯一解决方案是拥有一个全局变量来保存有问题的元素,而不是传递它,尽管我不想那么做,因为它更像是一种黑客而不是解决方案。有人知道我如何通过字符串传递该元素吗?提前致谢!
EDIT:
这是b
正在处理,变成HTML
按钮如何对象。你看到我可以提供一个实际的功能,而不是以字符串形式的名称?
var _b = '';
for(var i in b){
_b+="<div onclick='"+b[i]+"'>"+i+"</div>";
}
也许不是通过DOM元素,而是通过元素的ID和使用的document.getElementById –
当你虽然运行代码当前会发生什么?我没有看到你的代码不能正常工作的原因:/与传递整个元素相反,你为什么不传递它的ID? – ninty9notout
因为元素没有ID。不幸的是,我想不得不破解它是唯一的方法 –