javascript - 编写 jQuery 函数的更有效方式

标签 javascript jquery

有没有更好的方法来编写这个函数?我很确定我在这里只需要一个函数,但我不知道如何编写它!

(function(jQuery){
    jQuery.fn.codeexists = function(code) {
        var codeexist = false;
        jQuery('#fault-list-tbl tbody tr').each(function (i, row) {
            var id = jQuery(this).find('.fault-tbl-code').html();
            if (id == code) {
                codeexist = true;
            };
        });
        if (codeexist) {
            return true;
        } else {
            return false;
        };
    }; 
})(jQuery);

最佳答案

这可以更简单:

jQuery.fn.codeexists = function(code) {
    return jQuery('#fault-list-tbl tbody tr .fault-tbl-code').filter(function() {
        return this.html() === code;
    }).length > 0;
};

filter 将元素过滤到只有 htmlcodelength 为有多少元素。因此,如果有超过 0 (length > 0) 个元素将 code 作为它们的 html,它返回 true。

关于javascript - 编写 jQuery 函数的更有效方式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19897695/

相关文章:

jquery - Bootstrap 未应用于数据表中的动态加载表

php - jQuery.ajax() v1.5 为 json 数据返回 "parsererror"

jQuery:具有点击不透明度变化的图像推子

javascript - 使用 javascript 更改图像 src 不起作用

javascript - Canvas 元素在不应该改变颜色的情况下改变颜色?

javascript - Backbone.js 的 Python 后端

jquery - 使用 jquery 更改 html 标签的背景

javascript - 如何使用条件运算符

javascript - 隐藏和显示 1 次单击 Jquery

jquery - 将 click() 事件附加到 FaceBook 'Like' 按钮?