$(document).ready(function(){
replaceContentInContainer= function(target,source,t){
$(t).closest('.ola').find(target).html=$(t).closest('.ola')).find(source).html;
}
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<div class="question-container">
<div class="row content-data ">
<div class="col-xs-1"></div>
<div class="col-xs-10 ola">
<div class="changeable-div">
<div class="voters-info">
<div class="voting-options row">
<div class="col-md-6 hidden-xs agree-disagree">
<a href="#" onclick="replaceContentInContainer('changeable-div', 'afcA',this)">AGREE</a>
<a href="#" onclick="replaceContentInContainer('changeable-div', 'afcD',this)">DISAGREE</a>
</div>
</div>
</div>
</div>
<div class="afcA" style="display:none">
Add a reason for Agreeing
</div>
<div class="afcD" style="display:none">
Add a reason for Disagreeing
</div>
</div>
<div class="col-xs-1"></div>
</div>
</div>
我正在尝试将“changeable-div”的内容替换为同一“问题容器”的“afcA”或“afcD”,具体取决于所点击的链接。我删除了一些不必要的代码,但div结构是相同的(如果这个问题必须通过dom遍历解决)。我不能在任何地方使用“id”,因为这个问题容器在我的html体内重复了几次。
答案 0 :(得分:0)
此语法错误$(t).closest('.ola').find(target).html=$(t).closest('.ola')).find(source).html;
你应该使用
var sourceHtml = $(t).closest('.ola')).find("."+source).html();
$(t).closest('.ola').find("."+target).html(sourceHtml);
您可以查看http://api.jquery.com/html/以获取有关.html()