createElement、appendChild、その他の機能は初めてです。ふふ! 専門家にとって、このようなことを書くことは非常に未熟に見えるかもしれません。でも、全部自分で書きました! まだ完璧ではありませんので、ご指導ください。 ! " -//W3C//DTD HTML 4.0 暫定版//EN"> スタイル> ; .test{border:1px Solid #ccc;background-color:#eee;width:200px;height:60px;} <!-- </U> function isIE(){ //ie? </a> if (window.navigator.userAgent.indexOf("MSIE")> return true; else return false; </span>} </div>if(!isIE()){ //firefox innerText 定義 <div class="codebody" id="code84101"> HTMLElement.prototype.__defineGetter__("innerText", <BR> function(){ <BR> はこれを返します。 textContent ; <BR> } <BR> ); <BR> HTMLElement.prototype.__defineSetter__("innerText", <BR> function(sText){ <BR> this.textContent=sText; <BR> 🎜>}関数 $( e){ <BR> return document.getElementById(e); <BR> var arr=new Array(); <BR> 関数 check(e){ <BR> var v= 0; (i=0;i<arr.length;i ) <BR> {if(arr[i]==e) v=1; <BR> else v=0;} <BR> if (v) return true; <BR> else return false; <BR> } <BR> function edit(e){ <BR> var x=$(e); <BR> if (check(e) ) <BR> { <BR> //alert("すでに配列内に存在します! "); <BR> //alert(str); <BR> var b=$(e "fa"); <BR> str=$(e "faz").value; <BR> b.removeChild($ (e "faz")); <BR> x.innerText=str; <BR> }else{ <BR> div"); <BR> a1.id=e "fa"; <BR> a=document.createElement ("INPUT"); <BR> a.name=e; <BR> a.value=str; <BR> .appendChild(a1); <BR> a1.appendChild(a); <BR> if(arr.length== 0) arr[0]=e; > //alert(a.name); <BR> } <BR> } <BR> --> <br> </HEAD> <🎜; > <div class="test" id="test" onclick="edit('test')"> 編集可能なコンテンツ</div> <br> <div class="test" id="test1" onclick= "edit('test1')">編集可能なコンテンツ</div> <br> </HTML><br><br><br>ブラウザの問題を解決するための最終コード<br><div class="htmlarea"> <textarea id="runcode92387"> <title> 新しいドキュメント </title> <style> body{font-size:14px;} input{border:none;font-size:14px;} .show{border:1px solid #ccc;background-color:#eee;width:150px;height:20px;} .hide{border:1px solid #ccc;background-color:#eee;width:150px;height:20px;display:none;} </style> <font color="red"> 良い! !忙しい夜の後はこれで終わりです! !へーへーへー 押し下げられた! <b></b>Firefox では、DOM の小さな違いにより、タグ </font><font color="red"> 内のスペースを除く入力が含まれる div になります。 <b></b> childNodes[0] を使用しているため、スペースは使用できません。それ以外の場合は、2 回クリックする必要があります。 </font><div> <div class="show" id="test" onclick="edit(this.id)"> </div>編集可能なコンテンツ 1<div class="hide" id="testfm"> <input type="text" name="nn" value="可编辑的内容一" onblur="hide(this.parentNode.id)"> </div> <div class="show" id="test1" onclick="edit(this.id)"> </div>編集可能なコンテンツ 2<div class="hide" id="test1fm"> <input type="text" name="nn" value="可编辑的内容二" onblur="hide(this.parentNode.id)"> </div> <div class="show" id="test2" onclick="edit(this.id)"> </div>編集可能なコンテンツ 3<div class="hide" id="test2fm"> <input type="text" name="nn" value="可编辑的内容三" onblur="hide(this.parentNode.id)"> </div> <div class="show" id="test3" onclick="edit(this.id)"> </div>編集可能なコンテンツ 4<div class="hide" id="test3fm"> <input type="text" name="nn" value="可编辑的内容四" onblur="hide(this.parentNode.id)"> </div> </div> </textarea> <br><input onclick="runEx('runcode92387')" type="button" value="运行代码"><input onclick="doCopy('runcode92387')" type="button" value="复制代码"> <input onclick="doSave(runcode92387)" type="button" value="保存代码"> <a href="http://www.jb51.net/article/23421.htm" title="查看具体详情" target="_blank">[Ctrl A すべて選択 注: </a>外部 Js を導入する必要がある場合は、</div> を実行するために更新する必要があります]<script language="javascript"> <!-- function $(e){ return document.getElementById(e);//封装获取函数 } function edit(e){ //parseInt $(e).style.display="none"; $(e+"fm").style.display="block"; $(e+"fm").childNodes[0].focus(); //div的子元素自动获得焦点 } function hide(e){ //parseInt $(e).style.display="none"; $(e=e.replace("fm","")).style.display="block"; } -->