- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有一个表单,我希望能够添加和删除文本框和标签。每个文本框前面都有一个标签,因此标签是同级标签。我正在尝试只选择文本框的兄弟,所以当文本框被删除时我也将其删除。 我的问题是如何选择上一个标签。删除文本框很简单,它是最后一个带有名称的文本框,我将其作为参数传递给函数(因为我重新使用了它)。删除文本框工作正常,只是前面的标签是一个挑战。这是我的功能。
function remove(someName) {
var count = $('input[name=' + someName + ']').length;
if (count > 1) {
$('input[name=' + someName + ']:last').remove();
$(this).closest('label.numbers').remove();
/*
I have tried this one below but it doesn't work
$('label.numbers > input[name=' + someName + ']:last').parent().remove();
This too doesn't work.
$('label.numbers > input[name=' + someName + ']:last').offsetParent().remove();
*/
}
更新这是我的 Razor 代码片段,用于清晰的图片
<div class="form-group">
@Html.LabelFor(model => model.SupportingDocumentation, htmlAttributes: new { @class = "control-label col-md-2" })
<div class="col-md-10">
<div>
<label class="numbers"> 1 </label>
@Html.TextBoxFor(model => model.SupportingDocumentation, new { @class = "SupportingDocumentation" })
<input type="button" value="+" class="roundButton" onclick="add('SupportingDocumentation', 'SupportingDocumentation')" />
<input type="button" value="-" class="roundButton" onclick="removeElement('SupportingDocumentation')" />
</div>
<div>
<label class="numbers"> 2 </label>
@Html.TextBoxFor(model => model.SupportingDocumentation, new { @class = "SupportingDocumentation" })
</div>
<div>
<label class="numbers"> 3 </label>
@Html.TextBoxFor(model => model.SupportingDocumentation, new { @class = "SupportingDocumentation" })
</div>
@Html.ValidationMessageFor(model => model.SupportingDocumentation, "", new { @class = "text-danger" })
</div>
</div>
最佳答案
在您的代码中,当您尝试使用它的引用来选择标签时,文本框已经被删除,而不是 -
a) 你可以像这样一个一个地删除它们 -
var txtbox = $('input[name=' + someName + ']:last');
var lbl = txtbox.parent().find('label.numbers');
txtbox.remove();
lbl.remove();
b) 或者简单地删除父 div,它将删除其中的所有内容 -
var div = $('input[name=' + someName + ']:last').parent();
div.remove();
c) 或者将 div 中的 html 设为空 -
var div = $('input[name=' + someName + ']:last').parent();
div.html('');
编辑:
使用解决方案 (a) 的示例 fiddle -
关于javascript - JQUERY 检索和删除 previous sibling 姐妹,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29423447/
我有一个模型 FollowUp,其中包含与用户和项目关联的日期和描述: class FollowUp(Base): __tablename__ = 'followup' id =
这个问题在这里已经有了答案: Is there a "previous sibling" selector? (30 个答案) 关闭 6 年前。 我在一个 div 中有两个图像。当用户将鼠标悬停在第
我有一个控件,它是父控件的第一个子控件,但在父控件和控件中没有什么是唯一的。我可以找到第二个 child 的独特属性,所以我需要找到第二个 child 的前一个 sibling 最佳答案 这可以通过使
我有一个表单,我希望能够添加和删除文本框和标签。每个文本框前面都有一个标签,因此标签是同级标签。我正在尝试只选择文本框的兄弟,所以当文本框被删除时我也将其删除。 我的问题是如何选择上一个标签。删除文本
这个问题在这里已经有了答案: Is there a "previous sibling" selector? (32 个答案) 关闭 7 年前。 我有两个元素: ... ... 当 prayers_
这个问题在这里已经有了答案: Is there a "previous sibling" selector? (29 个答案) 关闭 8 年前。 我有一个列表,想选择我悬停的列表中的上一个和下一个
HTML: First Name JS: var FNAME = document.getElementById('FNAME'); FNAME.addEventListener('input',
如果我有一长串元素,当单击一个元素时,如何获取所有同级元素,直到到达类名包含给定字符串的元素? 示例: test test test test test test test test 在上面的例子中,
我试图在悬停时在 DIV 上获得 Accordion 效果。 Accordion 的右侧已经开始工作,但左侧还没有。 我把我的代码放在jsFiddle 有人可以帮我解决一下左边吗?我已经尝试了几个小时
我的 React 应用正在创建一个步骤列表: let steps = this.props.formSteps.map((step, i) => { let stepNum =
这个问题在这里已经有了答案: Is there a "previous sibling" selector? (33 个答案) 关闭 3 年前。
我有这样的结构: 和这个 scss: .as-twl-list-item { border-bottom: 1px solid
我是一名优秀的程序员,十分优秀!