1

我正在尝试创建一个只需要在 IE8 和 9 中工作的基于 JavaScript 的应用程序。

这是对问题的简化描述:

<div id="A" style="display:none">
<div id="a1">content of a1</div>
<div id="a2">content of a2</div>
<div id="a3">content of a3</div>
...goes on
</div>

<div id="B">
<div id="b1"></div>
<div id="b2"></div>
<div id="b3"></div>
...goes on
</div>`

我在 div“A”下的每个 div 都有一个复选框。

我需要一个简单的 JavaScript 函数,它将复制或删除 div“A”下的 div 内容到 div“B”下的内容,具体取决于选中的复选框。

例如,如果选中复选框“a1”,则 div“a1”的内容将被复制到 div“b1”,如果未选中该框,则删除“b1”的内容。

就这么简单,虽然我想不通,但整个 div "B" 将被复制粘贴到电子邮件中,因此 div "B" 不能包含任何隐藏元素。我不能使用文本区域。

4

2 回答 2

1

在复选框事件上调用此函数:

function CopyInnerHtml(){
    var innerHTML = document.getElementById('A').innerHTML;
    document.getElementById('B').innerHTML = innerHTML;
}
于 2012-10-17T21:24:08.463 回答
1

修改后的标记和 Javascript 代码。请注意在复选框元素中使用类属性来找出源和目标 div。

HTML

<div id="A" style="display:none">
<div id="a1">content of a1</div>
<div id="a2">content of a2</div>
<div id="a3">content of a3</div>
</div>

<div id="B">
<div id="b1"></div>
<div id="b2"></div>
<div id="b3"></div>
</div>

<input type="checkbox" class="1">
<input type="checkbox" class="2">
<input type="checkbox" class="3">

Javascript

$(document).ready(function(){
    $("input[type=checkbox]").click(function(){
       var source= $("#a" + $(this).attr('class'));
       var destination= $("#b" + $(this).attr('class'));
       if($(this).attr('checked')=='checked')
          $(destination).html($(source).html());
       else     
           $(destination).html("");
    });

});

http://jsfiddle.net/7qmQM/1/

于 2012-10-17T21:34:40.643 回答