<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>无标题文档</title>
<script type="text/javascript">
var flag=1;
function open_response(obj){
var Pnode=obj;
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;
}
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去移除元素 也就是说第二个函数是要得到第一个函数传入对象的父元素才可以 但未必所有元素都有父元素 或者传入不对
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>无标题文档</title>
<script type="text/javascript">
var flag=1;
function open_response(obj){
var Pnode=obj;
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;
}
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去移除元素 也就是说第二个函数是要得到第一个函数传入对象的父元素才可以 但未必所有元素都有父元素 或者传入不对
{
echo "<div class='yes_comment'>";
echo "<div class='show_title'>";
echo "<div class='name'>".$commrow['name']."</div>";
echo "<div class='date'>".date("Y-m-d G:i",strtotime($commrow['dateposted']))."</div>";
echo "</div>";
echo "<div class='show_text'>";
echo "<div>".htmlspecialchars($commrow['comment'])."</div>";
echo "<div class='btn'>";
echo "<input type='button' onclick='zan_cai(this,".$commrow['id'].",0)' value=".$commrow['zan']." class='zan_btn' />";
echo "<input type='button' onclick='zan_cai(this,".$commrow['id'].",1)' value=".$commrow['cai']." class='cai_btn' />";
echo "<span class='cancle_comment'>";
if(isset($_SESSION['USERNAME'])==TRUE){
echo "<input type='button' class='cancelcomment_btn' value=' ' onclick='cancel_comment(".$commrow['id'].",".$validentry.")'/>";
}else{
echo "<img src='images/zhanweifu.gif'/>";
}
echo "</span>";
$btn_sql="SELECT * FROM comments WHERE res_id=".$commrow['id']." AND blog_id=".$validentry.";";
$btn_res=mysql_query($btn_sql)or die("查询失败!".mysql_error());
$btn_num=mysql_num_rows($btn_res);
echo "<input type='button' onclick='open_response(this)' class='response_btn' value='".$btn_num."'/>";
echo "</div>";
echo "</div>";
echo "</div>";}回复按钮我是用这句话实现的:echo "<input type='button' onclick='open_response(this)' class='response_btn' value='".$btn_num."'/>";当我反复点击一个回复按钮的时候是可以实现我要的效果。可是当我点击一个回复按钮,第一个回复界面弹出;我想点击第二个回复按钮时,第一个回复界面消失,第二个回复界面弹出。这时候浏览器就报错了。报错内容如上。这是为什么呢??
function response(obj){
var Pnode=obj.parentNode;
var Rnode=document.getElementById('response');
if(Rnode)
{
var Pnode_response=Rnode.parentNode;
Pnode_response.removeChild(Rnode);
}
else
{
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);
}}//end回复弹窗