用另一个div jquery替换div的内容

时间:2016-02-28 09:37:07

标签: javascript jquery html

$(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体内重复了几次。

1 个答案:

答案 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()

的更多信息