<!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=gb2312" />
<title>无标题文档</title>
<style type="text/css">
<!--
.STYLE2 {
font-size: 24px;
color: #999999;
}
-->
</style>
<script type="text/javascript">
function myDelete(){
var oTable = document.getElementById("member");
//删除该行
this.parentNode.parentNode.parentNode.removeChild(this.parentNode.parentNode);
}
function myupdate(){
var oTable = document.getElementById("member");
e = event.srcElement
while(e.tagName !="TR")
e=e.parentElement
e.cells[1].innerHTML +="*"
}
window.onload=function(){
var oTable = document.getElementById("member");
var oTd;
//动态添加delete链接
for(var i=1;i<oTable.rows.length;i++){
oTd = oTable.rows[i].insertCell(3);
oTd.innerHTML = "<a href='#'>delete</a>";
oTd.firstChild.onclick = myDelete; //添加删除事件
oTd = oTable.rows[i].insertCell(4);
oTd.innerHTML = "<a href='#'>修改</a>";
oTd.firstChild.onclick = myupdate;
}
}
</script>
<script>
function selectit(){
//设置变量form的值为name等于select的表单
var form=document.select
//取得触发事件的按钮的name属性值
var action=event.srcElement.name
for (var i=0;i<form.elements.length;i++){//遍历表单项
//将当前表单项form.elements[i]对象简写为e
var e = form.elements[i]
//如果当前表单项的name属性值为iTo,
//执行下一行代码。限定脚本处理的表单项范围。
if (e.name == "iTo")
/*如果单击事件发生在name为selectall的按钮上,就将当前表单项的checked属性设为true(即选中),否则设置为当前设置的相反值(反选)*/
e.checked =(action=="selectall")?(form.selectall.checked):(!e.checked)
}
}
</script>
<script>
function delall(){
var iTo = document.getElementsByName("iTo");
for (var i=0;i<iTo.length;i++){
if(iTo[i].checked){ //判断复选框是否选中
iTo[i].parentNode.parentNode.parentNode.parentNode.removeChild(iTo[i].parentNode.parentNode.parentNode);//选中就删除该行
i--;
}
}
}
</script>
</head>
<body>
<div align="center"><span class="STYLE2">文章列表</span></div>
<form id="form1" name="select" method="post" action="">
<table width="540" height="270" border="1" align="center" bordercolor="#990099"id="member">
<tr>
<td width="71" height="32">
<div align="center">
<input type="checkbox" name="selectall" value="checkbox" onclick="selectit()"/>全选
</div>
</td>
<td width="98"><div align="center">序号</div></td>
<td width="123"><div align="center">文章名</div></td>
<td width="230"><div align="center">操 作1</div></td>
<td width="230"><div align="center">操 作2</div></td>
</tr>
<tr>
<td><div align="center">
<INPUT type="checkbox" name="iTo" value="1">1
</div></td>
<td><div align="center">1</div></td>
<td><div align="center">文章1</div></td>
</tr>
<tr>
<td><div align="center">
<INPUT type="checkbox" name="iTo" value="2">2
</div></td>
<td><div align="center">2</div></td>
<td><div align="center">文章2</div></td>
</tr>
<tr>
<td><div align="center">
<INPUT type="checkbox" name="iTo" value="3">3
</div></td>
<td><div align="center">3</div></td>
<td><div align="center">文章3</div></td>
</tr>
<tr>
<td><div align="center">
<INPUT type="checkbox" name="iTo" value="4">4
</div></td>
<td><div align="center">4</div></td>
<td><div align="center">文章4</div></td>
</tr>
</table>
<p><a href='#'onclick="delall(this)">删除所选</a></p>
</form>
<div align="left"></div>
</body>
</html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<title>无标题文档</title>
<style type="text/css">
<!--
.STYLE2 {
font-size: 24px;
color: #999999;
}
-->
</style>
<script type="text/javascript">
function myDelete(){
var oTable = document.getElementById("member");
//删除该行
this.parentNode.parentNode.parentNode.removeChild(this.parentNode.parentNode);
}
function myupdate(){
var oTable = document.getElementById("member");
e = event.srcElement
while(e.tagName !="TR")
e=e.parentElement
e.cells[1].innerHTML +="*"
}
window.onload=function(){
var oTable = document.getElementById("member");
var oTd;
//动态添加delete链接
for(var i=1;i<oTable.rows.length;i++){
oTd = oTable.rows[i].insertCell(3);
oTd.innerHTML = "<a href='#'>delete</a>";
oTd.firstChild.onclick = myDelete; //添加删除事件
oTd = oTable.rows[i].insertCell(4);
oTd.innerHTML = "<a href='#'>修改</a>";
oTd.firstChild.onclick = myupdate;
}
}
</script>
<script>
function selectit(){
//设置变量form的值为name等于select的表单
var form=document.select
//取得触发事件的按钮的name属性值
var action=event.srcElement.name
for (var i=0;i<form.elements.length;i++){//遍历表单项
//将当前表单项form.elements[i]对象简写为e
var e = form.elements[i]
//如果当前表单项的name属性值为iTo,
//执行下一行代码。限定脚本处理的表单项范围。
if (e.name == "iTo")
/*如果单击事件发生在name为selectall的按钮上,就将当前表单项的checked属性设为true(即选中),否则设置为当前设置的相反值(反选)*/
e.checked =(action=="selectall")?(form.selectall.checked):(!e.checked)
}
}
</script>
<script>
function delall(){
var iTo = document.getElementsByName("iTo");
for (var i=0;i<iTo.length;i++){
if(iTo[i].checked){ //判断复选框是否选中
iTo[i].parentNode.parentNode.parentNode.parentNode.removeChild(iTo[i].parentNode.parentNode.parentNode);//选中就删除该行
i--;
}
}
}
</script>
</head>
<body>
<div align="center"><span class="STYLE2">文章列表</span></div>
<form id="form1" name="select" method="post" action="">
<table width="540" height="270" border="1" align="center" bordercolor="#990099"id="member">
<tr>
<td width="71" height="32">
<div align="center">
<input type="checkbox" name="selectall" value="checkbox" onclick="selectit()"/>全选
</div>
</td>
<td width="98"><div align="center">序号</div></td>
<td width="123"><div align="center">文章名</div></td>
<td width="230"><div align="center">操 作1</div></td>
<td width="230"><div align="center">操 作2</div></td>
</tr>
<tr>
<td><div align="center">
<INPUT type="checkbox" name="iTo" value="1">1
</div></td>
<td><div align="center">1</div></td>
<td><div align="center">文章1</div></td>
</tr>
<tr>
<td><div align="center">
<INPUT type="checkbox" name="iTo" value="2">2
</div></td>
<td><div align="center">2</div></td>
<td><div align="center">文章2</div></td>
</tr>
<tr>
<td><div align="center">
<INPUT type="checkbox" name="iTo" value="3">3
</div></td>
<td><div align="center">3</div></td>
<td><div align="center">文章3</div></td>
</tr>
<tr>
<td><div align="center">
<INPUT type="checkbox" name="iTo" value="4">4
</div></td>
<td><div align="center">4</div></td>
<td><div align="center">文章4</div></td>
</tr>
</table>
<p><a href='#'onclick="delall(this)">删除所选</a></p>
</form>
<div align="left"></div>
</body>
</html>
解决方案 »
- 一个jquery效果在IE下无效的问题
- JavaScript setTimeout
- 表单里面的数据发送到邮箱
- 求QQ空间弹出窗口代码
- 当IE窗体运行时,设置图片的高度与DIV的高度一致?
- 问一个关于在前面的窗口运行新页面的问题
- document.frames["Myframe"].document.write(...),现在var s="Myframe",但是document.frames[s].document.write(...),出错!还有什么办
- 如何调用JS文件中的函数,谢谢
- 都来研究一下下面的代码的原理,,速度测试!!
- 请教一个cookie的问题
- 模态窗口如何实现
- 请看看我的JS为什么不行,一个简单例子
e = event.srcElement
没有仔细看你的代码是怎么写的,主要问题有两个:
1、IE中获取当前事件对象是windows.event,而在FF中,是不存在window.event的,他是把事件对象当作
事件处理函数的唯一参数传递进去的,即arguments[0],你也可以在定义事件处理函数时指定一个名称:
function eventHandle(oEvent){/*在这里面oEvent就是指当前事件对象*/}。
2、获取当前事件目标在IE和FF里也是不一样的,假设现在已经获取到了正确的事件对象,在FF中应该用
为oEvent.target而不是oEvent.srcElement
删除所选和修改都好使吗?
我的是FirefoxChinaEdition_2009.7.exe也不知道是几点几的、、
~~~~(>_<)~~~~
咋搞的、郁闷死了、、
oTd = oTable.rows[i].insertCell(3);
oTd.innerHTML = " <a href='#'>delete </a>";
oTd.firstChild.onclick = myDelete; //添加删除事件
oTd = oTable.rows[i].insertCell(4);
oTd.innerHTML = " <a href='#'>修改 </a>";
oTd.firstChild.onclick = myupdate;
} 另外,用parentNode,不要用parentElement
FF在建立DOM文档的时候会把标签之间的空格解析成一个textNode,oTd.firstChild指向的是一个textNode而不是你添加的链接,有两个方法可以解决,一种是oTd.innerHTML = " <a href='#'>修改 </a>"; 中字符串前面的空格去掉,第二种方法是用document.createElement动态创建链接,然后appendChild到oTd中去,下面是用第二种方法改好的代码:
function myDelete(){
var oTable = document.getElementById("member");
//删除该行
this.parentNode.parentNode.parentNode.removeChild(this.parentNode.parentNode);
}
function myupdate(oEvent){
var oTable = document.getElementById("member");
e = oEvent || window.event;
e = e.srcElement || e.target;
while(e.tagName != "TR"){
e=e.parentNode;
}
e.cells[1].innerHTML +="*"
}
window.onload=function(){
var oTable = document.getElementById("member");
var oTd;
//动态添加delete链接
for(var i=1;i <oTable.rows.length;i++){
oTd = oTable.rows[i].insertCell(3);
var a = document.createElement("a");
a.href = "#";
a.appendChild(document.createTextNode("删除"))
a.onclick = myDelete;
oTd.appendChild(a);
oTd = oTable.rows[i].insertCell(4);
a = document.createElement("a");
a.href = "#";
a.appendChild(document.createTextNode("修改"))
a.onclick = myupdate;
oTd.appendChild(a);
}
}
非常感谢!!
上面的全选在FF下的问题也解决了。
这是在FF下的全选复选框的实现、
<script language="javascript">
function selectIt(action){
var testform=document.getElementById("form1");
for(var i=0 ;i<testform.elements.length;i++){
if(testform.elements[i].type=="checkbox"){
e=testform.elements[i];
e.checked=(action=="selectall")?1:(!e.checked);
}
}
}
</script>