如何使用jQuery单击功能删除最近的div?

时间:2018-06-11 10:47:58

标签: javascript jquery html

我想在点击十字按钮时删除父p标记。

我的HTML结构是这样的:



jQuery('.delete').click(function() {
  jQuery(this).closest('.question-list').remove()
});

jQuery('.add-question-btn').click(function() {
jQuery("#add-question-div-parent").append("<p class='add-question-div' style='position: relative'><input type='text' class='add-ques-text' placeholder='Add Question'><span><i class='fa fa-times cls' aria-hidden='true'></i></span></p>");
});
        
jQuery('.cls').click(function() {
   jQuery('.add-question-div').remove()
});
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.10.0/jquery.min.js"></script>
<p class="question-list">Here is my question.Here is my question.Here is my question.
	<span><i class="fa fa-times delete" aria-hidden="true"></i></span>
</p>
<div id="add-question-div-parent" class="full-width"></div>
<button class="add-question-btn">+</button>
&#13;
&#13;
&#13;

.add-question-div点击'.add-question-btn'按钮后已成功添加,但遗憾的是,当我点击.add-question-div时,我无法删除.cls。< / p>

任何形式的帮助都将受到高度赞赏。感谢。

1 个答案:

答案 0 :(得分:0)

.cls元素是动态添加的,因此在页面加载时click事件未关联,因此请使用$(document).on('click','.cls', function(){...});。您还需要在点击图标时删除特定的add-question-div,因此请使用$(this).closest('.add-question-div').remove();

&#13;
&#13;
$('.delete').click(function() {
  $(this).closest('.question-list').remove()
});

$('.add-question-btn').click(function() {
$("#add-question-div-parent").append("<p class='add-question-div' style='position: relative'><input type='text' class='add-ques-text' placeholder='Add Question'><span><i class='fa fa-times cls' aria-hidden='true'>X</i></span></p>");
});

$(document).on('click','.cls', function() {
   $(this).closest('.add-question-div').remove();
});
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<p class="question-list">Here is my question.Here is my question.Here is my question.
  <span><i class="fa fa-times delete" aria-hidden="true"></i></span>
</p>
<div id="add-question-div-parent" class="full-width"></div>
<button class="add-question-btn">+</button>
&#13;
&#13;
&#13;