我使用下面的代码更改边框颜色:如何删除<span></span>,然后用jQuery添加另一个<span>?
$("#input_" + type + "_" + row).css("border-color", "black")
我如何可以先删除任何<span></span>
(如果存在的话),其直接跟随我的输入,然后添加以下内容:
<span class="check-ok"></span>
注即使在第一次输入之后没有跨度,我也需要它工作。
我使用下面的代码更改边框颜色:如何删除<span></span>,然后用jQuery添加另一个<span>?
$("#input_" + type + "_" + row).css("border-color", "black")
我如何可以先删除任何<span></span>
(如果存在的话),其直接跟随我的输入,然后添加以下内容:
<span class="check-ok"></span>
注即使在第一次输入之后没有跨度,我也需要它工作。
只需使用.next
[docs]:
$("#input_" + type + "_" + row)
.next('span').remove().end()
.after('<span class="check-ok"></span>');
如果没有span
,.next
不会选择任何元素,.remove()
将不只是做任何事情。
如果有多个连续span
元素和要删除所有的人,你可以使用.nextUntil
[docs]:
$("#input_" + type + "_" + row)
.nextUntil(':not(span)').remove().end()
.after('<span class="check-ok"></span>');
如果在输入之后没有直接跨度,这个工作还可以吗?我担心,因为我将有一个输入(有或没有跨度),其次是有跨度的其他输入。我不想删除下一个,如果它不是我刚刚验证的输入的一部分。 – Alan2 2012-08-10 14:43:32
'.next'选择以下兄弟**当且仅当**匹配选择器时。如果下一个元素是'input'元素,则'.next('span')'不会选择它。除了阅读文档,这些都是你可以自己尝试的东西。 – 2012-08-10 14:44:42
什么是你删除'span'再加入另外一个是回头的目的是什么?仅仅是改变那个'span'的类,而不是它存在与否? – RobB 2012-08-10 14:40:01
我的问题是我不知道如何删除,如果它可能会或可能不会在那里工作。 – Alan2 2012-08-10 14:40:22
@RobB - 问题是,起初不会有跨度。只有在输入验证完成后才会有一段时间。所以一开始就没有什么可以改变的。 – Alan2 2012-08-10 14:41:58