0

我的 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>

我在这里尝试做的是单击“添加新”按钮我将“内容”附加到具有类 =“重定向”的 div 并单击“保存并添加网络”按钮我将 networkContent 附加到id 为“容器”的 div。现在的问题是,如果我在附加的 div 中单击“添加新”按钮,则“内容”会添加到附加的 div 和现有的 div 中。我希望它只添加到我的 div点击。我应该如何实现这一点。?

4

1 回答 1

1

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

jQuery("#container").on("click", "#saveAndAddNew", function() {
    jQuery(this).closest(".NetworkSelection").find(".redirect").append(content);
});
于 2013-11-08T14:08:02.277 回答