复制 html 到另一个 div
Copying html to another div
我正在做的是每当我点击 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">Whosebug</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 was clicked' 显示 2 次
<div>
<button class="asik">Click Me</button>
</div>
<script>$('.asik').click(function(){alert('asik was clicked');})</script>
试试这个: 从服务器数据中删除脚本并将该脚本放在评论之后..
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');
}
我正在做的是每当我点击 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">Whosebug</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 was clicked' 显示 2 次
<div>
<button class="asik">Click Me</button>
</div>
<script>$('.asik').click(function(){alert('asik was clicked');})</script>
试试这个: 从服务器数据中删除脚本并将该脚本放在评论之后..
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');
}