function del(sx){ var list = document.getElementsByTagName("label"); for(var i=0,j=1;i<list.length;i++){ var el = list[i]; if(el.sx==sx){ el.parentNode.removeChild(el); i--; } else{ el.getElementsByTagName("span")[0].innerText = "选项"+(j++)+":"; } } } try again~~
试下这样可以不,,,还有,好像多了个</label>
<button onClick="add()">add</button> <button onClick="del()">del</button> <button onClick="test()">test</button> <table id="t1" border="1"></table> <script language="JavaScript"> var n=0; function add(){ n++; t1.insertRow().insertCell().innerHTML = '<input type="radio" name="tt"><input name="test'+n+'"><button onclick="deleteRow(this)">delthis</button>'; //t1.insertRow().insertCell().innerHTML = '<input type="radio" name="tt"><input name="test'+t1.rows.length+'">'; } function del(){ var c = document.getElementsByName('tt'); for(var i=0; i<c.length; i++) if(c[i].checked) t1.deleteRow(i); } function deleteRow(obj){ t1.deleteRow(obj.parentElement.parentElement.rowIndex); } function test(){ for(i=0;i<t1.rows.length;i++) alert(t1.rows[i].cells[0].innerHTML); } </SCRIPT>
var objchoice=document.createElement("label");
objchoice.innerHTML="<br><span>选项"+i+":</span><input maxlength=\"50\" name=\"choices\" type=\"text\" /><span style=\"cursor: pointer;\" onclick=\"\">删除</span></label>"
document.getElementById("polloption").appendChild(objchoice);不过删除一项不知道怎么解决
function addAttach(noAlert){
if (att_count >= 20 && !noAlert){
alert("最多只能添加20个附件!");
return;
}
for (var i = 0; i < 20; i++) {
if(!$("divAttach_" + i)) {
var tmpDiv = '<div id="divAttach_' + i +'">';
tmpDiv += '<input index="7" type="file" name="atth'
+ i + '" class="att_file_input" onkeypress="blur()" onpaste="return false" onchange="addAttach(true);"></input>'
+ ' <a href="#delatt" onclick="delAttach(\'' + i + '\')" class="delete_attach">移除附件</a>';
tmpDiv += "</div>";
new Insertion.Bottom($('compose_att_td'), tmpDiv);
att_count ++
window.parent.resizeMainBody();
break;
}
}
try{window.parent.resizeMainBody();}catch(e){}
}
function delAttach(index){
Element.remove($("divAttach_" + index));
att_count --
try{window.parent.resizeMainBody();}catch(e){}
}
function resizeMainBody(pageHeight){
var frameHeight = $("mainbody").contentWindow.document.body.scrollHeight+20;
frameHeight = (frameHeight>500) ? frameHeight : 500;
if(pageHeight){frameHeight = pageHeight;};
$("mainbody").style.height=frameHeight+"px";
}
function del(sx){
var list = document.getElementsByTagName("label");
for(var i=0,j=1;i<list.length;i++){
var el = list[i];
if(el.sx==sx){
el.removeNode(true);
i--;
}
else{
el.getElementsByTagName("span")[0].innerText = "选项"+(j++)+":";
}
}
}
function add(i){
var objchoice=document.createElement("label");
objchoice.sx=i;
objchoice.innerHTML="<br><span>选项"+i+":</span><input maxlength=\"50\" name=\"choices\" type=\"text\" /><span style=\"cursor: pointer;\" onclick=\"del("+i+")\">删除</span>"
document.getElementById("polloption").appendChild(objchoice);
}
试试FF能用不...
function add(){
i++;
var objchoice=document.createElement("label");
objchoice.sx=i;
objchoice.innerHTML="<br><span>选项"+i+":</span><input maxlength=\"50\" name=\"choices\" type=\"text\" /><span style=\"cursor: pointer;\" onclick=\"del("+i+")\">删除</span>"
document.getElementById("polloption").appendChild(objchoice);
}删除的时候不可以
添加:
document.getElementById("div1").appendChild(node)
document.getElementById("div1").insertBefore(oldNode, newNode)
删除:
document.getElementById("div1").removeChild(node)
function del(sx){
var list = document.getElementsByTagName("label");
for(var i=0,j=1;i<list.length;i++){
var el = list[i];
if(el.sx==sx){
el.removeNode(true);
i--;
}
else{
el.getElementsByTagName("span")[0].innerText = "选项"+(j++)+":";
}
}
}
function add(i){
var objchoice=document.createElement("label");
objchoice.sx=i;
objchoice.innerHTML="<br><span>选项"+i+":</span><input maxlength=\"50\" name=\"choices\" type=\"text\" /><span style=\"cursor: pointer;\" onclick=\"del("+i+")\">删除</span>"
document.getElementById("polloption").appendChild(objchoice);
}
</script>
<body onload="">
<form id="polloption"></form>
<script>add(1);
add(2);
add(3);
add(4);</script>
</div>
</body>
</html>像这样
function add(){
i++;
var objchoice=document.createElement("label");
objchoice.sx=i;
objchoice.innerHTML="<br><span>选项"+i+":</span><input maxlength=\"50\" name=\"choices\" type=\"text\" /><span style=\"cursor: pointer;\" onclick=\"del("+i+")\">删除</span>"
document.getElementById("polloption").appendChild(objchoice);
}
i设为全局变量可能会有问题...
del的循环里有新生成的i.
另外var list = document.getElementsByTagName("label");如果这页面还有label标签 那也不行哦
我对FF不熟.不过好像也没触犯什么啊...你有试过把我9楼的代码COPY过去试么?
我是在IE下测试好的...
function del(sx){
var list = document.getElementsByTagName("label");
for(var i=0,j=1;i<list.length;i++){
var el = list[i];
if(el.sx==sx){
el.parentNode.removeChild(el);
i--;
}
else{
el.getElementsByTagName("span")[0].innerText = "选项"+(j++)+":";
}
}
}
try again~~
<button onClick="add()">add</button>
<button onClick="del()">del</button>
<button onClick="test()">test</button>
<table id="t1" border="1"></table>
<script language="JavaScript">
var n=0;
function add(){
n++;
t1.insertRow().insertCell().innerHTML = '<input type="radio" name="tt"><input name="test'+n+'"><button onclick="deleteRow(this)">delthis</button>';
//t1.insertRow().insertCell().innerHTML = '<input type="radio" name="tt"><input name="test'+t1.rows.length+'">';
}
function del(){
var c = document.getElementsByName('tt');
for(var i=0; i<c.length; i++)
if(c[i].checked)
t1.deleteRow(i);
}
function deleteRow(obj){
t1.deleteRow(obj.parentElement.parentElement.rowIndex);
}
function test(){
for(i=0;i<t1.rows.length;i++) alert(t1.rows[i].cells[0].innerHTML);
}
</SCRIPT>
是否类似这个?
参考这些我回答的例子