删除焦点上的span元素

时间:2016-05-17 11:35:38

标签: jquery selector onfocus

我有几个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'));
    }

4 个答案:

答案 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)

您应使用prev()功能查找上一个范围,并使用hide()功能删除范围。示例是 Here

$(this).prev('span').remove(); // use remove() for removing

如果你想删除跨度而不是隐藏,那么只需使用remove()函数。

new