如何在以下场景中将数据附加到jQuery中的特定div?

时间:2013-11-08 13:35:10

标签: javascript jquery html

我的Jquery功能就是这个

jQuery(document).ready(function(){
            var content='<div class="input-parameters"><div><label>Url</label><div class="inputContainer"><textarea rows="4" cols="25" readonly></textarea></div></div>'+

                    '<div class="saveButtonDiv"><button type="button" class="btn" class="saveButton">Save</button></div>';

            jQuery( "#container" ).on( "click","#saveAndAddNew", function() {
                jQuery('.redirect').append(content);
            });

            var networkContent='<div class="wrapper"><div class="NetworkSelection">+
                                  '<div class="redirect">'+content +'</div>'+
                                  '<div class="buttonContainer">'+
                                  '<button type="button"                              class="btn" id="saveAndAddNew">Add New</button>
                                     </div></div>';
              jQuery('#saveAndAddNetwork').click(function(){
                jQuery('#container').append(networkContent);
            })
        })

我的html是

div id="container">
    <div class="wrapper">
        <div class="NetworkSelection">
            <div class="redirect">
                <div class="input-parameters">
                    <div>
                        <label>Redirect Url</label>
                        <div class="inputContainer">
                            <textarea rows="4" cols="25" readonly>

                            </textarea>
                        </div>
                    </div>
                    <div class="clear"></div>
                    <div class="inputParams">
                        <div >
                            <label>Campaign</label>
                            <div class="inputContainer">
                                <input type="text"  class="input-medium"/>
                            </div>
                        </div>
                        <div class="clear"></div>
                        <div>
                            <label>Creative Id</label>
                            <div class="inputContainer">
                                <input type="text" class="input-medium"/>
                            </div>
                        </div>
                        <div class="clear"></div>
                    </div>
                    <div class="saveButtonDiv"><button type="button" class="btn" id="save">Save</button></div>
                    <div class="clear"></div>
                </div>

            </div>
            <div class="buttonContainer">

                <button type="button" class="btn" id="saveAndAddNew">Add New</button>
            </div>

        </div>
    </div>
    <div class="networkButtonContainer">
        <button type="button" class="btn-small">Save</button>
        <button type="button" class="btn-small" id="saveAndAddNetwork">Save & Add Network</button>
    </div>
</div>

我在这里尝试做的是单击“添加新”按钮我将“内容”附加到具有class =“redirect”的div并且 点击“保存并添加网络”按钮,我将networkContent附加到id为“container”的div。 现在的问题是,如果我点击附加的div中的“添加新”按钮,“内容”将添加到两者,附加的div和现有的div。我希望它只添加到我的div点击。 我应该怎么做到这一点。?

1 个答案:

答案 0 :(得分:1)

content被附加到所有具有redirect类的div,因此您必须缩小上下文,同时找到要追加的正确位置。例如,试试这个:

jQuery("#container").on("click", "#saveAndAddNew", function() {
    jQuery(this).closest(".NetworkSelection").find(".redirect").append(content);
});