Uncaught NotFoundError: An attempt was made to reference a Node in a context whe
本人最近在做一个留言版块,遇到了以下问题,百思不得其解。
追求的效果是这样的:点击一个留言的回复按钮,在该留言下方弹出回复界面,同时交替按住不同留言的回复,回复窗口可以交替出现。
留言部分是用ajax显示的。回复按钮的js为:
var flag=1;
function open_response(obj){
var Pnode=obj.parentNode;
if(flag%2)
{
var Cnode=document.createElement('div');
Cnode.id="response";
Cnode.innerHTML="<div align='center'><textarea name='response_comment' rows='5'></textarea></div>"+
"<div class='name'>用户名: <input type='text' name='response_name' style='width:80px' /> 邮箱: <input type='text' name='response_email'></div>"+
"<div>"+
"<input type='submit' name='response_submit' class='submit' value='回 复' />"+
"</div>"+
"<div style='clear:both'></div>";
Pnode.appendChild(Cnode);
Cnode.style.display=="block"?Cnode.style.display="none":Cnode.style.display="block";
flag=0;
}
else
{
close_response(Pnode)
}
}
function close_response(obj)
{
var Cnode_1=document.getElementById('response');
obj.removeChild(Cnode_1);
flag=1;
}
flag=0;
}
else
{
close_response(Pnode)
}
}
function close_response(obj)
{
var Cnode_1=document.getElementById('response');
obj.removeChild(Cnode_1);
flag=1;
}
function ss(){
open_response(document.body);
window.setTimeout(function(){close_response(document.body)},3000);
}
</script>
</head>
<body>
<input type="button" value="查询" onclick="ss()">
</body>
</html>
你第一个函数把div加到了obj的父元素上 第二个元素从obj去移除元素 也就是说第二个函数是要得到第一个函数传入对象的父元素才可以 但未必所有元素都有父元素 或者传入不对