【问题标题】:Copying html to another div将html复制到另一个div
【发布时间】:2015-02-07 13:00:32
【问题描述】:

我所做的是,每当我单击 li.opn 时,我都会从 #hiddenDiv 获得相应的 .pst 的 html。

如果 .pst 的 html 为空,则执行 $.post() 以从服务器获取 html

但我的问题是,如果我在outputHTML 中收到来自服务器的<script></script> 代码,那么document 得到2 个脚本

  • displayDiv中的一个
  • 另一个在hiddenDiv

这会导致各种错误,例如 script 函数运行两次。

更新

这是我的My Problem Solution,但我必须使用两次same html,js 代码!!有什么帮助???

HTML

<ul>
   <li class="opn" set="stack">Stackoverflow</li>
   <li class="opn" set="google">Google</li>
</ul>


<div id="hiddenDiv">
 <div class="pst" set="stack"></div>
 <div class="pst" set="google"></div>
</div>
<div id="displayDiv"></div>

JS

<script>
$('.opn').click(function(){
var set = $(this).attr('set');
if($('.pst[set="'+set+'"]').html() > 0){
  $('#displayDiv').html($('.pst[set="'+set+'"]').html());
}else{
   $.post(url,{},function(data){
        var outputHTML = data.output; 
        $('#displayDiv').html(outputHTML);
        $('.pst[set="'+set+'"]').html(outputHTML);
      },'json');
 }
});
</script>

更新2

如果这是来自服务器的输出,则 'asik 被点击' 显示 2 次​​strong>

<div>
     <button class="asik">Click Me</button>
</div>
<script>$('.asik').click(function(){alert('asik was clicked');})</script>

【问题讨论】:

  • 你的服务器 html 是什么?
  • 大声笑 php @AhosanKarimAsik
  • 你的输出代码表单服务器是什么?
  • .e.g &lt;div&gt;&lt;button class="asik"&gt;Click Me&lt;/button&gt;&lt;/div&gt;&lt;script&gt;$('.asik').click(function(){alert('asik was clicked');})&lt;/script&gt; @AhosanKarimAsik
  • 如果从服务器数据中删除脚本,有什么问题吗?如果没有问题,则通过正则表达式或 dom 解析器删除脚本..

标签: javascript jquery html onclick html-lists


【解决方案1】:

试试这个:从服务器数据中删除脚本并将该脚本放在评论之后..

    if($('.pst[set="'+set+'"]').html() > 0){
      $('#displayDiv').html($('.pst[set="'+set+'"]').html());
    // server script put here..
    }else{
       $.post(url,{},function(data){
            var outputHTML = data.output; 
            $('#displayDiv').html(outputHTML);
            $('.pst[set="'+set+'"]').html(outputHTML);
    //// server script put here..
$('.asik').click(function(){alert('asik was clicked');});
          },'json');
     }

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-04-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多