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')
按钮不会删除整行! 我在这里做错了什么?
【问题讨论】:
这是<
这里的错字<class="..
吗?
尝试使用`$(this).closest('div').remove();`
最近的作品,谢谢:)
【参考方案1】:
我不了解 Twig,除非它是 Twig 的一部分,否则您的 <div><a href="#" <class="delete">Delete</a></div>
中的 class
之前似乎有错字,您应该删除 <
符号。
另外,请尝试使用closest()
而不是parent()
,因为最后一个只会向上移动一个级别。 closest()
将获得匹配的第一个元素,无论多少级,你甚至可以删除 <div class="ul-div">
。
【讨论】:
考虑投票关闭这些类型的问题,因为它们被认为是题外话,因为问题是由拼写错误引起的以上是关于jquery delete parent 在整条线上都不起作用!我究竟做错了啥? [关闭]的主要内容,如果未能解决你的问题,请参考以下文章