javascript - JS 删除元素的函数不起作用

标签 javascript jquery html function

我从网站上的这里获得了这段代码,它在 jsfidle ( http://jsfiddle.net/jaredwilli/tZPg4/4/ ) 上运行得很好,但是当我把它放在我的网站上时,当我点击它时,“删除”链接不会执行任何操作。

注意:我已经将“live”替换为“on”。

代码:

HTML:

<h2><a href="#" id="addScnt">Add Another Input Box</a></h2>

<div id="p_scents">
    <p>
        <label for="p_scnts"><input type="text" id="p_scnt" size="20" name="p_scnt" value="" placeholder="Input Value" /></label>
    </p>
</div>

JS:

$(function() {
        var scntDiv = $('#p_scents');
        var i = $('#p_scents p').size() + 1;

        $('#addScnt').live('click', function() {
                $('<p><label for="p_scnts"><input type="text" id="p_scnt" size="20" name="p_scnt_' + i +'" value="" placeholder="Input Value" /></label> <a href="#" id="remScnt">Remove</a></p>').appendTo(scntDiv);
                i++;
                return false;
        });

        $('#remScnt').live('click', function() { 
                if( i > 2 ) {
                        $(this).parents('p').remove();
                        i--;
                }
                return false;
        });
});

最佳答案

首先将 remScnt 更改为 class,因为它将多次出现在 DOM 中,

只需尝试以下操作,

$(document).on('click','.remScnt', function() { 
   if( i > 2 ) {
      $(this).parents('p').remove();
         i--;
      }
   return false;
});

关于javascript - JS 删除元素的函数不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21231995/

相关文章:

javascript - webgl 中的人脸动画

javascript - 使用 JavaScript 正则表达式匹配和替换字符串

javascript - 单击时不会触发绑定(bind)了 jQuery 单击事件的 Div?

css - div 标签中不需要的空间

javascript - 替代 x.innerHTML 用于长文本

javascript - Bootstrap "form-floating": label has weird margins when inside "row"

javascript - 如何为我的 popcorn.js 脚本使用外部 js 文件?

jquery - 向后和向前滚动 jQuery 动画

Jquery Mobile css 和 js 在 Dynamic jquery mobile PopUp 之后无法正确加载 - c# .net MVC

javascript - jQuery : Find text after a string of specific tags and remove img tags if no images