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

标签 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>');
    }
}

最佳答案

通过将标记放在一个 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 fiddle : http://jsfiddle.net/Ha4CS/3/

关于jquery - 检查 span 元素是否存在,然后动态添加 div,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19563588/

相关文章:

jquery - 嵌套两列高度问题

jquery - 尝试通过JQuery获取表单控件值时,Chrome在调试器中抛出Aw Snap

html - 我如何将图片放入左侧单元格?

jquery - 无效链接直到滚动

javascript - 如何通过Ajax将php文件返回的字符串存储到Javascript变量

jquery - $(this) 怎么可能不是在 jquery 点击处理程序中触发事件的元素?

html - 如何让第二个ul不出现

jquery 不会将元素附加到页面

html - 在 css 中使用相邻选择器的边距

html - 换行时父 div 比其子文本宽