我有几个Textbox,每个Textbox都有一个span元素:
<span class="reqDiv" name="Required">This value is required</span>
<input class="form-control" id="txtAddress" placeholder="Address" type="text" maxlength="50" autocomplete="off">
<span class="reqDiv" name="Required">This value is required</span>
<input class="form-control" id="txtZip" placeholder="Zip Code" type="text" maxlength="5">
我想删除焦点对齐的文本框的span元素。我尝试了以下jquery
代码,删除了所有文本框的span元素,而不是特定的“on-focus”文本框。我怎样才能实现它?
jquery:
$("#Offer_Form").find(".form-control").on("focus", function (e) {
$("span[name='Required']")
});
编辑:这是我通过jquery生成span标记的方式:
var SetErrorStateForControl = function (elemObj, msg) {
elemObj.closest('div').find($("span[name='Required']")).remove();
$('<span class="reqDiv" name="Required">' + msg + '</span>').prependTo(elemObj.closest('div'));
}
答案 0 :(得分:1)
你可以试试这样的事情
$( "input.form-control:text" ).focus(function() {
$(this).prev().remove();
});
答案 1 :(得分:0)
您可以使用prev()
方法获取每个标记的相应范围
$("#Offer_Form").find(".form-control").on("focus", function(e) {
$(this).prev().remove();
});
答案 2 :(得分:0)
.prev([selector])
方法获得前一个兄弟
如果您要删除之前的span
元素,可以尝试以下操作:
$(document).ready(function(){
$(".form-control").focus(function(e) {
$(this).prev('span').remove(); //.prev('span') get the previous span
});
});
答案 3 :(得分:0)