HTC中 element.parentNode.removeChild(element)自己删除自己

sjinqun 2007-12-25 03:24:20
最近系统升级后,碰到一个HTC的兼容问题,在我的MPC中,

有element.parentNode.removeChild(element)这么一句话,

每次执行完这句话后,系统就不再往下执行, 我把参数改成另外一个对象后,可以顺利执行。

我试着修改 selectedIndex 和 element.id = '' 来改变焦点, 但是都没有成功,请高人指点!!
...全文
780 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
sjinqun 2007-12-25
  • 打赏
  • 举报
回复
我的代码升级前是没有问题的, removeChild这句话也能执行,可以把他从数组中删除, 问题是 他现在不能正常执行
f_reset()函数了。

我正在测试先执行f_reset()函数, 最后在做 removeChild()操作, 好像这样可以成功
dh20156 2007-12-25
  • 打赏
  • 举报
回复
看起来是没有什么问题,自己检查一下remove前和remove后的pObj的childNodes
mingxuan3000 2007-12-25
  • 打赏
  • 举报
回复
element是什么呀 你的逻辑有问题
sjinqun 2007-12-25
  • 打赏
  • 举报
回复
这是一个mpc(属性页)的HTC组件代码,运行了两年都正常, 最近对 xml dom 和htc等做了一些升级,现在的状态事执行到element.parentNode.removeChild(element)这句话就不再往下执行, 我试着把参数该成另外一个页面,程序可以顺利
往下执行,我觉得可能需要将当前焦点改到别的元素,然后执行removeChild。还有一个变通的办法可能是先对剩余的元素
排序,最后再删除这个元素。


//双击事件的删除面板处理程序
function DelCurPage(index) {
var pObj = element.parentNode;
if (element.id == "main") {
alert("你不能删除首页面");
return;
}
if (pObj.childNodes.length > 1) {
element.parentNode.removeChild(element);
f_reset_tab(pObj);
}
}

function f_reset_tab(obj) {
obj.CumulativeTabWidth = 0;
for (var i = 0; i < obj.childNodes.length; i++) {
var tb = obj.childNodes(i).childNodes(1);
//alert(tb.outerHTML);
tb.index = (i+1);
tb.id = "Tab";
tb.style.left = obj.CumulativeTabWidth;
var iWidth = tb.rows(0).cells(1).style.pixelWidth;
obj.CumulativeTabWidth += (iWidth + 15);
}
obj.selectedIndex = obj.childNodes.length;
}
dh20156 2007-12-25
  • 打赏
  • 举报
回复
你是要remove一个select的option?
hztgcl1986 2007-12-25
  • 打赏
  • 举报
回复

代码






87,907

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧