JS函数删除元素不起作用

时间:2014-01-20 10:51:08

标签: javascript jquery html function

我在网站上从这里得到了这个代码,它在jsfidle(http://jsfiddle.net/jaredwilli/tZPg4/4/)上运行得很好但是当我把它放在我的网站上时,“删除”链接在我点击它时什么都不做。

注意:我已经用“on”替换了“live”。

代码:

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;
        });
});

1 个答案:

答案 0 :(得分:0)

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

试试以下内容,

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