jquery delete parent 在整条线上都不起作用!我究竟做错了啥? [关闭]

Posted

技术标签:

【中文标题】jquery delete parent 在整条线上都不起作用!我究竟做错了啥? [关闭]【英文标题】:jquery delete parent doesnt work on the whole Line! What am i doing wrong? [closed]jquery delete parent 在整条线上都不起作用!我究竟做错了什么? [关闭] 【发布时间】:2021-04-01 04:07:58 【问题描述】:

我使用this question 的最后一个答案将行添加到我在 Symfony 中创建的投票中,但我附加的字符串比答案中的要长一些

('<div><input type="text" name="mytext[]"/><a href="#" class="delete">Delete</a></div>')

我的看起来像这样(用树枝,你不必了解那里的所有内容,重要的是底部的<div><a href="#" <class="delete">Delete</a></div>' 行):

'<div class="ul-div"><ul class="lst-none">\n' +
'    <li>\n' +
'        % for Field in lineArray %\n' +
'            <div class="% if loop.first %lineFieldFirst% else %lineField% endif %">\n' +
'                % if Field.getType() == "choice" %\n' +
'                    <select name="field_choice_ Field.getId() []" id="field_choice_ Field.getId() ">\n' +
'                        % for Fieldvalue in Field.getFieldvaluesBySO() %\n' +
'                            <option value=" Fieldvalue.getValue() "> Fieldvalue.getTranslationName(app.request.getLocale()) </option>\n' +
'                        % endfor %\n' +
'                    </select>\n' +
'                % elseif Field.getType() == "checkbox" %\n' +
'                    <label for="field_checkbox_ Field.getId() "> Field.getTranslationName(app.request.getLocale()) </label>\n' +
'                    <input type="checkbox" id="field_checkbox_ Field.getId() " name="field_checkbox_ Field.getId() []">\n' +
'                % elseif Field.getType() == "date" %\n' +
'                    <label for="field_date_ Field.getId() "> Field.getTranslationName(app.request.getLocale()) </label>\n' +
'                    <input type="text" class="datepicker" id="field_date_ Field.getId() " name="field_date_ Field.getId() []">\n' +
'                % elseif Field.getType() == "number" %\n' +
'                    <input type="number" id="field_number_ Field.getId() " name="field_number_ Field.getId() []" min="0" value="0" required>\n' +
'                % elseif Field.getType() == "text" %\n' +
'                    <label for="field_text_ Field.getId() "> Field.getTranslationName(app.request.getLocale()) </label>\n' +
'                    <input type="text" id="field_text_ Field.getId() " name="field_text_ Field.getId() []">\n' +
'                % endif %\n' +
'            </div>\n' +
'        % endfor %\n' +
'        <div><a href="#" <class="delete">Delete</a></div>' +
'    </li>\n' +
'</ul></div>'

功能清晰

$(wrapper).on("click", ".delete", function(e) 
    e.preventDefault();
    $(this).parent('div').remove();
    x--;
)

不再起作用,因为它只会删除 标签周围的 div,但即使 i:

删除它周围的 div 使用parent('div.ul-div') 使用parent('ul') 使用parent('div').parent('div')

按钮不会删除整行! 我在这里做错了什么?

【问题讨论】:

这是&lt;这里的错字&lt;class="..吗? 尝试使用`$(this).closest('div').remove();` 最近的作品,谢谢:) 【参考方案1】:

我不了解 Twig,除非它是 Twig 的一部分,否则您的 &lt;div&gt;&lt;a href="#" &lt;class="delete"&gt;Delete&lt;/a&gt;&lt;/div&gt; 中的 class 之前似乎有错字,您应该删除 &lt; 符号。

另外,请尝试使用closest() 而不是parent(),因为最后一个只会向上移动一个级别。 closest() 将获得匹配的第一个元素,无论多少级,你甚至可以删除 &lt;div class="ul-div"&gt;

【讨论】:

考虑投票关闭这些类型的问题,因为它们被认为是题外话,因为问题是由拼写错误引起的

以上是关于jquery delete parent 在整条线上都不起作用!我究竟做错了啥? [关闭]的主要内容,如果未能解决你的问题,请参考以下文章

使用 jquery 选中或取消选中 parent parents 复选框

jQuery---表格删除案例

使用jQuery在谷歌地图上的两点之间画一条线?

供应链金融业务学习

jQuery实现每隔几条元素增加1条线的方法

jQuery中的parent()和parents()有啥区别呢?