javascript - element.tagName 未定义

标签 javascript html jquery-validate

对于以下代码,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 不起作用?

最佳答案

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

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

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

if (element[0].tagName === "INPUT") {
   //its input
}

关于javascript - element.tagName 未定义,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19723596/

相关文章:

php - Google 如何在不重新加载页面的情况下将搜索参数附加到 url?

html - 一种形式的多个单选按钮组

html - Firefox 主体边距错误?

javascript - DIV 上的 jQuery 验证插件

javascript - jQuery 验证使用 onclick 处理程序不验证字段?

javascript - 停止输入键提交也会停止多行文本编辑中的输入键

javascript - 如何在JSX(React)中执行JS而不将其输出为HTML?

javascript - 将服务器时区转换为本地时间 momentjs

javascript - 如果在某个网页上并离开另一个特定网页则运行脚本

jquery - 如何仅验证英文字母字符