首页 新闻 会员 周边

(难)div文本编辑中如何给TABLE添加和删除行、列?

0
悬赏园豆:200 [已关闭问题] 关闭于 2008-01-02 11:49
最近在用div来做文本编辑器,是用纯javascript脚本来实现的,现在碰到一个难题,在编辑器中插入表格后,如何来添加和删除行、列。 <BR>&nbsp; &nbsp; <DL class=code> <DT>HTML code <DD><PRE><DIV><!-- Code highlighting produced by Actipro CodeHighlighter (freeware) http://www.CodeHighlighter.com/ --><SPAN style="COLOR: #0000ff">&lt;</SPAN><SPAN style="COLOR: #800000">div </SPAN><SPAN style="COLOR: #ff0000">class</SPAN><SPAN style="COLOR: #0000ff">="divEdit"</SPAN><SPAN style="COLOR: #ff0000"> runat</SPAN><SPAN style="COLOR: #0000ff">="server"</SPAN><SPAN style="COLOR: #ff0000"> id</SPAN><SPAN style="COLOR: #0000ff">="HtmlEdit"</SPAN><SPAN style="COLOR: #ff0000"> contenteditable</SPAN><SPAN style="COLOR: #0000ff">="true"</SPAN><SPAN style="COLOR: #ff0000"> style</SPAN><SPAN style="COLOR: #0000ff">="left: 215px; top: 37px; width: 736px; height: 483px;"</SPAN><SPAN style="COLOR: #ff0000"> </SPAN><SPAN style="COLOR: #0000ff">&gt;</SPAN><SPAN style="COLOR: #000000"> </SPAN><SPAN style="COLOR: #0000ff">&lt;/</SPAN><SPAN style="COLOR: #800000">div</SPAN><SPAN style="COLOR: #0000ff">&gt;</SPAN><SPAN style="COLOR: #000000"> </SPAN><SPAN style="COLOR: #0000ff">&lt;</SPAN><SPAN style="COLOR: #800000">input </SPAN><SPAN style="COLOR: #ff0000">id</SPAN><SPAN style="COLOR: #0000ff">="Insert"</SPAN><SPAN style="COLOR: #ff0000"> type</SPAN><SPAN style="COLOR: #0000ff">="button"</SPAN><SPAN style="COLOR: #ff0000"> value</SPAN><SPAN style="COLOR: #0000ff">="char"</SPAN><SPAN style="COLOR: #ff0000"> class</SPAN><SPAN style="COLOR: #0000ff">="but01"</SPAN><SPAN style="COLOR: #ff0000"> onclick</SPAN><SPAN style="COLOR: #0000ff">="openrow()"</SPAN><SPAN style="COLOR: #ff0000"> style</SPAN><SPAN style="COLOR: #0000ff">="width: 75px"</SPAN><SPAN style="COLOR: #ff0000"> </SPAN><SPAN style="COLOR: #0000ff">/&gt;</SPAN></DIV> </PRE></DD></DL><BR>&nbsp; &nbsp; 现在我想要知道的是如何在点击Insert的时候获得输入光标所在的TABLE的ID? <BR>
问题补充: 是我问题描述不详细还是这么了 为什么没人回答我的问题? 感谢你们的回复 特别是TerryLee 你提供的代码无法解决我的问题,我是想点击button来添加或删除行,而且我的table是在可编辑的div中,谢谢 @随机 我点击INSERT 是一个botton 这个时候srcelement应该是这个botton 而不是光标所在的table
吴畏的主页 吴畏 | 菜鸟二级 | 园豆:426
提问于:2007-12-18 16:37
< >
分享
所有回答(4)
0
不大明白为什么不直接用现有的编辑器呢? fckeditor之类的
XXXCccddd | 园豆:40 (初学一级) | 2007-12-18 21:32
0
现有的编辑器太多了,可以找几个开源的看一下,或者直接用现成的,没必要重复造轮子。
TerryLee | 园豆:3300 (老鸟四级) | 2007-12-18 23:15
0
帮你查了下,这样的问题去问google比较好。呵呵。 另外如果是学习的话可以自己写,如果应用的话还是用现成的吧 ===== 用 document.onmouseover事件 window.event.toElement.name ============= js动态生成表格单元,同时带单元的事件控制 页面文件片段: <table width="587" border="0" align="center" cellpadding="0" cellspacing="1" id="showlist"> <tr align="center"> <td height="30">超词</td> <td>用户ID</td> <td>价格</td> <td>赠送时长</td> <td>购买时间</td> <td>操作</td> </tr> </table> js脚本代码 var row=document.all.showlist.insertRow(); //插入一行 var cell1=row.insertCell(); //插入一列 cell1.attachEvent("onmouseover",onover); //单元格插入onmouseover事件 cell1.innerText=superkey; cell1.align="center"; cell1.style.backgroundColor="white"; //onmouseover事件的处理 function onover() { alert(window.event.srcElement.innerText); //弹出当前单元格的内容 } ============ update:2007-12-21 11 我以前用过这个方法,不过这个方法只支持IE,其实你在这里等大家回答,倒不如自己去搜索看看。 ===== 添加html内容(insertAdjacentHTML和insertAdjacentText) dhtml提供了两个方法来进行添加,insertAdjacentHTML和insertAdjacentText insertAdjacentHTML方法:在指定的地方插入html标签语句。 原型:insertAdjacentHTML(swhere,stext) 参数: swhere:指定插入html标签语句的地方,有四种值可以用: 1.beforeBegin:插入到标签开始前 2.afterBegin:插入到标签开始标记后 3.beforeEnd:插入到标签结束标记前 4.afterEnd:插入到标签结束标记后 stext:要插入的内容 ===== 这里有一些例子,你可以参考一下: http://li.fc19.cn/article_167.html
niugm | 园豆:1685 (小虾三级) | 2007-12-19 12:06
0
@现在我想要知道的是如何在点击Insert的时候获得输入光标所在的TABLE的ID? 当你点击table的时候光标自然会移到table上,此时用talbe的onclick事件获取ID就行了
随机 | 园豆:310 (菜鸟二级) | 2007-12-20 08:29
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册