jQuery错误:Uncaught TypeError: element.attr is not a function

jQuery错误:Uncaught TypeError: element.attr is not a function
发生错误的语句是if括号里面的那句话。

<script>
    //...

    highlight: function (element, errorClass) {
        $(element).fadeOut(function () {
            $(element).fadeIn();
        });
        $(element).closest(".form-group").addClass(errorClass);

       //if条件里面的语句报错:Uncaught TypeError: element.attr is not a function
        if(element.attr("name") == "category" || element.attr("name") == "location"){
            $(element).next("div.input-group-btn")
                    .children("button:first")
                    .css("border-color", "#d9534f");
        }
    },

    //...
</script>
阅读 8.8k
3 个回答

element 改成 $(element),element不是jq对象所以attr方法不能用

attr("name") 是jquery对象的方法,原生js的方法是getAttribute()。你的代码可以写成$(element).attr("name")或者element.getAttribute("name")。

顺数下来的第8行的element改为$(element)。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题