繁体   English   中英

jQuery在dom更改后显示新元素

[英]jQuery show new element after dom change

在DOM更改后,我发现了许多对新元素进行操作的方法,但是所有方法都可用于事件。 我只想on click隐藏元素1,而不是用display:none将其替换为2并显示它。

到目前为止,我的代码:

/*
     *  EDIT COMMENT
     */
    jQuery(document).on('click',options.targets.container+' '+options.targets.comment_edit, function(e){
        e.preventDefault();
        var target = e.target;
        target = jQuery(target).parent();
        var comment_content = jQuery(target).find('.comment_content');          
        var comment_content = jQuery(comment_content).text();


        jQuery(target).find('.comment_content').hide(400,function(){
            jQuery(target).find('.comment_content').replaceWith('<textarea style="display:none" class="'+options.targets.comment_edit_form.replace('.','')+'">'+comment_content+'</textarea>');


            //not working
            jQuery(target).delay(400).find(options.targets.comment_edit_form.replace('.','')).show(400)

            console.log(jQuery(target).find(options.targets.comment_edit_form.replace('.','')))
        });


    })

我想在替换后立即显示新元素。
问题是2:
1:我无法使用jquery获得新元素,因为它已添加;
2:其他功能完成后无法显示。

插入搜索元素。

修改您的代码为

jQuery(document).on('click',options.targets.container+' '+options.targets.comment_edit, function(e){
    e.preventDefault();
    var target = e.target;
    target = jQuery(target).parent();
    var comment_content = jQuery(target).find('.comment_content');          
    var comment_content = jQuery(comment_content).text();


    jQuery(target).find('.comment_content').hide(400,function(){
        jQuery(target).find('.comment_content').replaceWith('<textarea style="display:none" class="'+options.targets.comment_edit_form.replace('.','')+'">'+comment_content+'</textarea>');
      //show after  ( put your code here )
      jQuery(target).find('textarea').show();
    });
})

http://jsbin.com/pirinocuku/edit?html,js,输出

这是我创建元素的方法:

    var dialogDiv = document.createElement("div");
    $("body").append(dialogDiv);
    $(dialogDiv).html('<p>' + text + '</p>');

我做错了
jQuery(target).find(options.targets.comment_edit_form.replace('.','')).show(400) options.targets.comment_edit_form是类并且我删除了. 从中找不到元素;

变成:

jQuery(document).on('click',options.targets.container+' '+options.targets.comment_edit, function(e){
        e.preventDefault();
        var target = e.target;
        target = jQuery(target).parent();
        var comment_content = jQuery(target).find('.comment_content');          
        var comment_content = jQuery(comment_content).text();


        jQuery(target).find('.comment_content').hide(400,function(){
            jQuery(target).find('.comment_content').replaceWith('<textarea style="display:none" class="'+options.targets.comment_edit_form.replace('.','')+'">'+comment_content+'</textarea>');

            jQuery(target).find(options.targets.comment_edit_form.replace('.','')).show(400)
        });
    })

我不好,抱歉

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM