编写jQuery函数的更有效方法

时间:2013-11-11 01:52:34

标签: 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);

2 个答案:

答案 0 :(得分:5)

这可能更简单:

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

filter将元素过滤为只有html code的元素,而length是元素的数量。因此,如果length > 0code的元素超过0(html),则返回true。

答案 1 :(得分:2)

您也可以这样写:

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