0

对于以下代码, element.tagName 未定义。

$('#page1').bind('pageinit', function(event) {
    $('form').validate({

       errorPlacement: function(error, element) {
           console.log(element.tagName);

           if (element.tagName === "input") {
              error.insertAfter($(element).parent());
           } else {
              error.insertAfter(element);
           }
       }
   });
});

但是,这有效:

if (element.attr("type") === “text”) {

我想设置error.insertAfter($(element).parent())所有输入。为什么 tagName 不起作用?

4

1 回答 1

2

要么使用.is()来检查输入,例如:

if( element.is('input') ) {
  //its input
}

或从 jQuery 对象中获取基本元素,例如:

if (element[0].tagName === "INPUT") {
   //its input
}
于 2013-11-01T09:21:41.530 回答