在after()上创建一个元素;

时间:2012-05-24 06:31:12

标签: jquery

是否有任何其他方法来限制创建元素..我不是真正的jquery专家,我只是很难想象这个..的家伙..

这是我的代码..

if($(this).val() == "") {
   $(this).addClass('error').after('<span class="jquery_form_error_message">' + 'This field is required' + "</span>");
   validated = false;
   return false;

这实际上是一个验证..你不能跳过,除非你记录每个字段数据。 我的问题是。当我点击提交。按钮..它在div的顶部创建一个多个跨度类...这非常混乱...

2 个答案:

答案 0 :(得分:0)

您可以检查元素是否存在:

if ($(this).next('.jquery_form_error_message').length > 0) {
  // Exists
} else {
  // Doesn't exist
}

答案 1 :(得分:0)

 function test() {
            if ($(this).val() == "") {
                $(this).addClass('error').after($(this).next('span.jquery_form_error_message').length === 1 ? ('<span class="jquery_form_error_message">' + 'This field is required' + "</span>") : '');
                validated = false;
                return false;
            }
            else {
                $(this).removeClass('error').next('span.jquery_form_error_message').hide();
                validated = true;
                return true;
            }
        }