看看这个应该如何做,进来看看吧 <div> <div onclick="txtReplick">第一条测试</div> <div onclick="txtReplick">第二条测试</div> <div onclick="txtReplick">第三条测试</div></div>要求:点击这条信息,在这个div中添加一个文本框,一个按钮,这个文本康里面的内容是这个div里面的内容,然后点击这个按钮,把文本框里面修改的内容赋给这个div不知道描述的清楚不,望各位帮忙解决下 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 <!DOCTYPE HTML><html> <head> <meta charset="gb2312" /> <title></title> <link rel="stylesheet" href="http://yui.yahooapis.com/2.9.0/build/reset/reset-min.css" /> <style> body {font-size:12px;} </style> </head> <body> <div onclick="txtReplick">第一条测试</div> <div onclick="txtReplick">第二条测试</div> <div onclick="txtReplick">第三条测试</div> <script> function $(el){ return typeof el == 'string' ? document.getElementById(el) : el; } function $t(name, cot){ cot = cot || document; return cot.getElementsByTagName(name); } var divs = $t('div'); for(var i=0, len=divs.length; i<len; i++){ divs[i].onclick = function(){ if( $t('input', this).length ) return ; var c = document.createElement('div'); c.innerHTML = '<input value="'+this.innerHTML+'" /><button>修改</button>'; this.appendChild(c); var that = this; $t('button', this)[0].onclick = function(e){ that.innerHTML = $t('input', that)[0].value; e = e || window.event; if (e.stopPropagation) { e.stopPropagation(); } else { e.cancelBubble = true; } } } } </script> </body></html>楼主 试试 <div> <div onclick="txtReplick(this)" flag="off">第一条测试</div> <div onclick="txtReplick(this)" flag="off">第二条测试</div> <div onclick="txtReplick(this)" flag="off">第三条测试</div></div><script type="text/javascript"> function txtReplick(el){ var bool=el.getAttribute('flag'); if(bool=='off'){ el.setAttribute('flag','on') var tf=document.createElement('input'); tf.type='text'; tf.value=el.innerHTML; el.appendChild(tf); var btn=document.createElement('input'); btn.type='button'; btn.value='更改'; el.appendChild(btn); btn.onclick=function(event){ stopBubble(event); el.innerHTML=tf.value; el.setAttribute('flag','off'); el=null; } } } function stopBubble(e){ if(e && e.stopPropagation){ e.stopPropagation(); //w3c }else window.event.cancelBubble=true; //IE }</script> <!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> </head> <script language="javascript"> var input=document.getElementById("input1"); var div = document.getElementById("div1");var button = document.getElementById("button1");function inputShow(){ var input=document.getElementById("input1"); var div = document.getElementById("div1");var button = document.getElementById("button1");input.style.display="block";button.style.display="block";div.style.display="none";input.value = div.innerHTML;} function change(){var input=document.getElementById("input1"); var div = document.getElementById("div1");var button = document.getElementById("button1");input.style.display="none";button.style.display="none";div.style.display="block";div.innerHTML = input.value; }</script> <body> <div> <div onclick="txtReplick" id="div1" onmousedown="inputShow();">第一条测试</div> <div onclick="txtReplick">第二条测试</div> <div onclick="txtReplick">第三条测试</div></div> <input name="" id="input1" type="text" value="" style="display:none" /> <input type="button" id="button1" value="修改" onclick="change()" style="display:none"/></body> </html> 不能够直接这样吗el.innerHTML="<input type=" + "text" + " value=" + "第一条测试" + " /><input type=" + "button" + " value=" + "保存" + " onclick=" + "save()" + " />"; 用了1楼的判断<div> <div onclick="txtReplick(this)" >第一条测试</div> <div onclick="txtReplick(this)">第二条测试</div> <div onclick="txtReplick(this)" >第三条测试</div></div><script type="text/javascript"> function txtReplick(el){ var bool=(el.getElementsByTagName('input').length)>0; if(bool){return;} var val=el.innerHTML; el.innerHTML+='<input type="text" value="'+val+'" /><input type="button" value="save" onclick="save(this,event)" />'; } function save(obj,event){ stopBubble(event); var txt=obj.previousSibling.value; obj.parentNode.innerHTML=txt; } function stopBubble(e){ if(e && e.stopPropagation){ e.stopPropagation(); //w3c }else window.event.cancelBubble=true; //IE }</script> ext4.0中checkbox的check事件无效了? JS如何根据IE窗口的HWND操作IE窗口对象? js到底怎么工作的? [请教思路]关于2组数字互相过滤消号 如何用js去除重复的记录? 如何列举表格内所有行的第1列的内容 怎么让链接先执行onclick后再跳转呢 如何才能取到下面这个值 如何判断Input里面输入的是否为中文? [原创]业余时间写的一个飞行射击游戏 网上找到个ExtJS 4 视频 js同步获取aspx页面Response.Redirect传递的参数
<!DOCTYPE HTML>
<html>
<head>
<meta charset="gb2312" />
<title></title>
<link rel="stylesheet" href="http://yui.yahooapis.com/2.9.0/build/reset/reset-min.css" />
<style>
body {font-size:12px;}
</style>
</head>
<body>
<div onclick="txtReplick">第一条测试</div>
<div onclick="txtReplick">第二条测试</div>
<div onclick="txtReplick">第三条测试</div>
<script>
function $(el){
return typeof el == 'string' ? document.getElementById(el) : el;
}
function $t(name, cot){
cot = cot || document;
return cot.getElementsByTagName(name);
}
var divs = $t('div');
for(var i=0, len=divs.length; i<len; i++){
divs[i].onclick = function(){
if( $t('input', this).length ) return ;
var c = document.createElement('div');
c.innerHTML = '<input value="'+this.innerHTML+'" /><button>修改</button>';
this.appendChild(c);
var that = this;
$t('button', this)[0].onclick = function(e){
that.innerHTML = $t('input', that)[0].value;
e = e || window.event;
if (e.stopPropagation) {
e.stopPropagation();
} else {
e.cancelBubble = true;
}
}
}
}
</script>
</body>
</html>楼主 试试
<div>
<div onclick="txtReplick(this)" flag="off">第一条测试</div>
<div onclick="txtReplick(this)" flag="off">第二条测试</div>
<div onclick="txtReplick(this)" flag="off">第三条测试</div>
</div>
<script type="text/javascript">
function txtReplick(el){
var bool=el.getAttribute('flag');
if(bool=='off'){
el.setAttribute('flag','on')
var tf=document.createElement('input');
tf.type='text';
tf.value=el.innerHTML;
el.appendChild(tf);
var btn=document.createElement('input');
btn.type='button';
btn.value='更改';
el.appendChild(btn);
btn.onclick=function(event){
stopBubble(event);
el.innerHTML=tf.value;
el.setAttribute('flag','off');
el=null;
}
}
}
function stopBubble(e){
if(e && e.stopPropagation){
e.stopPropagation(); //w3c
}else window.event.cancelBubble=true; //IE
}
</script>
<!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>
</head> <script language="javascript">
var input=document.getElementById("input1");
var div = document.getElementById("div1");
var button = document.getElementById("button1");
function inputShow(){
var input=document.getElementById("input1");
var div = document.getElementById("div1");
var button = document.getElementById("button1");
input.style.display="block";
button.style.display="block";
div.style.display="none";
input.value = div.innerHTML;
}
function change(){
var input=document.getElementById("input1");
var div = document.getElementById("div1");
var button = document.getElementById("button1");
input.style.display="none";
button.style.display="none";
div.style.display="block";
div.innerHTML = input.value;
}
</script>
<body>
<div>
<div onclick="txtReplick" id="div1" onmousedown="inputShow();">第一条测试</div>
<div onclick="txtReplick">第二条测试</div>
<div onclick="txtReplick">第三条测试</div>
</div>
<input name="" id="input1" type="text" value="" style="display:none" />
<input type="button" id="button1" value="修改" onclick="change()" style="display:none"/>
</body>
</html>
<div onclick="txtReplick(this)" >第一条测试</div>
<div onclick="txtReplick(this)">第二条测试</div>
<div onclick="txtReplick(this)" >第三条测试</div>
</div>
<script type="text/javascript">
function txtReplick(el){
var bool=(el.getElementsByTagName('input').length)>0;
if(bool){return;}
var val=el.innerHTML;
el.innerHTML+='<input type="text" value="'+val+'" /><input type="button" value="save" onclick="save(this,event)" />';
}
function save(obj,event){
stopBubble(event);
var txt=obj.previousSibling.value;
obj.parentNode.innerHTML=txt;
}
function stopBubble(e){
if(e && e.stopPropagation){
e.stopPropagation(); //w3c
}else window.event.cancelBubble=true; //IE
}
</script>