检查span元素是否存在,然后动态添加div

时间:2013-10-24 10:37:28

标签: jquery html css

如何检查输入元素下方是否存在跨度,如果存在,我需要在该跨度下动态添加div

$('#submit_form .required_text').filter(':visible').each(function () {
var input = $(this);
input.next('div.error_text').remove();
input.removeClass('highlight');
if (!$(this).val()) {
    input.addClass('highlight');
    input.find('span'){
        //then add the div after the span for this element alone
    }
    else{

        input.after('<div class="error_text">Required field</div>');
    }
}

2 个答案:

答案 0 :(得分:1)

通过将标记放在var中并在另一个var中选择正确的元素来干掉代码。使用.next()选择输入后的元素。然后评估nextElement以确定它是否是跨度。

var input = $("input"), nextElement = input.next();
var divHtml = '<div class="error_text">Required field</div>';
var elem = ($(nextElement).is("span")) ? nextElement: input;
$(elem).after(divHtml);

JS小提琴: http://jsfiddle.net/Ha4CS/3/

答案 1 :(得分:0)

 if(input.find('span').length)
  {
        // here do your stuff
    }
    else{// not exist 

        input.after('<div class="error_text">Required field</div>');
    }