huifeideyuhe 2013-07-07 18:18
浏览 418
已采纳

jquery动态生成留言回复

小弟的jquery刚学,很多都不太清楚,自己做的页面上点击发表留言后,生成留言框和回复按钮,但是在点击回复没反应,哪位大神看看是哪里出问题了,




<br> * {<br> padding: 0;<br> margin: 0;<br> }</p> <pre><code> li { list-style: none; } #parent { width: 600px; margin: 0 auto; } h4 { line-height: 40px; margin-bottom: 10px; border-bottom: 1px solid #333; color: #FF3300 } p { width: 100%; background: #f1f1f1; position: relative; margin-bottom: 25px; } #box { width: 580px; padding: 25px 10px 0; border: 1px solid #ddd; margin-bottom: 10px; } span { position: absolute; top: -20px; right: 0px; } em { position: relative; top: -13px; } #text { width: 100%; height: 90px; overflow: auto; } #btn { width: 100%; height: 50px; } &lt;/style&gt; &lt;script type=&quot;text/javascript&quot;&gt; i = 1; function replay(){ var textarea= $(&quot;&lt;textarea/&gt;&quot;).css(&#39;width&#39;,&#39;500px&#39;).css(&#39;height&#39;,&#39;80px&#39;); var baocun=$(&quot;&lt;input type=&#39;button&#39; value=&#39;保存&#39;/&gt;&quot;) .css(&#39;width&#39;,&#39;50px&#39;).css(&#39;height&#39;,&#39;30px&#39;); var quxiao=$(&quot;&lt;input type=&#39;button&#39; value=&#39;取消&#39;/&gt;&quot;) .css(&#39;width&#39;,&#39;50px&#39;).css(&#39;height&#39;,&#39;30px&#39;); //获取当前元素的父节点 var f_div=$(this).parent(); textarea.appendTo(f_div); baocun.appendTo(f_div); quxiao.appendTo(f_div); } function fnsubmit() { var odiv =$(&quot;#box&quot;); var oem = $(&quot;#em&quot;); var otext = $(&quot;#text&quot;); var oli = $(&quot;#li&quot;); var add_li = $(&quot;&lt;li&gt;&quot;); var o_span = $(&quot;&lt;span&gt;&lt;/span&gt;&quot;); var span1 =$(&quot;&lt;span&gt;&lt;/span&gt;&quot;); if (otext.value == &quot;&quot;) { alert(&quot;请填写留言内容!&quot;); return; } var str = $(&quot;&lt;textarea&gt;&quot;).val(otext.val()) .css(&#39;width&#39;,&#39;530px&#39;).css(&#39;height&#39;,&#39;80px&#39;); var span1Text = $(&quot;&lt;input type=&#39;button&#39; value=&#39;回复&#39; onclick=&#39;replay()&#39;/&gt;&quot;) .css(&#39;width&#39;,&#39;50px&#39;).css(&#39;height&#39;,&#39;30px&#39;); o_span.appendTo(add_li); o_span.css(&#39;display&#39;,&#39;none&#39;); str.appendTo(add_li); span1Text.appendTo(add_li); add_li.appendTo(odiv); i++; for (j = 0; j &lt; oli.length; j++) { var m = j; oli[j].onmouseover = function () { this.style.background = &quot;#ffff00&quot;; (this.childNodes(o_span)).style.display = &quot;block&quot;; }; oli[j].onmouseout = function () { this.style.background = &quot;#3399FF&quot;; (this.childNodes(o_span)).style.display = &quot;none&quot;; }; oli[j].onclick = function () { m--; odiv.removeChild(this); if (m &lt; 0) { oem.style.display = &quot;block&quot;; } ; }; } ; } &lt;/script&gt; &lt;title&gt;留言板&lt;/title&gt; </code></pre> <p></head><br> <body></p> <div id="parent"> <h4> 留言内容: </h4> <input type="text" id="text"> <br/> <input id="btn" type="button" onclick="fnsubmit()" value="发表留言"/> <div id="box"> <em>这里会显示留言内容……</em> </div> </div> <p></body><br> </html></p>
  • 写回答

2条回答 默认 最新

  • lwjxxhx 2013-07-07 23:26
    关注

    方法一:
    var f_div = document.getElementsByTagName("li");

    方法二:给'回复'按钮加id='hf'
    var f_div = $("#hf").parent();

    在下面情况下,$(this)可以使用
    $("#hf").click(function(){
    var f_div =$(this).parent();
    });

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

悬赏问题

  • ¥15 关于#python#的问题:求帮写python代码
  • ¥20 MATLAB画图图形出现上下震荡的线条
  • ¥15 LiBeAs的带隙等于0.997eV,计算阴离子的N和P
  • ¥15 关于#windows#的问题:怎么用WIN 11系统的电脑 克隆WIN NT3.51-4.0系统的硬盘
  • ¥15 来真人,不要ai!matlab有关常微分方程的问题求解决,
  • ¥15 perl MISA分析p3_in脚本出错
  • ¥15 k8s部署jupyterlab,jupyterlab保存不了文件
  • ¥15 ubuntu虚拟机打包apk错误
  • ¥199 rust编程架构设计的方案 有偿
  • ¥15 回答4f系统的像差计算