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 に答える