-1

是否可以在 jQuery 函数中为此添加if语句?append()

}).data("uiAutocomplete")._renderItem = function(ul, item) {
    $(ul).addClass("quicksearch");
    $(ul).css('margin-left','-125px');
    var rating_color = item.level;
    var revision = item.revision.toLowerCase();

    //if revision === "") { append only !   

    return $("<li></li>").data("item.autocomplete", item).append('<a><img class="clubpicture" src="'+item.clubpicture+'" /><img class="nationpicture" src="'+item.nationpicture+'" /><span class="name">'+item.name+'</span> ('+item.position+') <span class="rating '+rating_color+' '+revision+'">'+item.rating+'</span></a>').appendTo(ul);
};

如果有人能指出我正确的方向那就太好了

4

3 回答 3

1

jsFiddle Demo

你可以挂钩到 jquery

$.fn.customIf = function(){
 var els = [];
 this.each(function(){
   if( this instanceof HTMLDivElement ){
    els.push(this);
   }
 });
 return $(els);
};

举个例子。这只会发送<div>要附加的元素。

于 2013-04-19T23:32:09.747 回答
0

感谢@kai-qing,以下似乎对我有用

function(ul, item) {
        $(ul).addClass("quicksearch");
        $(ul).css('margin-left','-125px');
        var rating_color = item.level;
        var revision = item.revision.toLowerCase();

        if(revision == "") { 
            return $("<li></li>").append('<a><img class="clubpicture" src="'+item.clubpicture+'" /><img class="nationpicture" src="'+item.nationpicture+'" /><span class="name">'+item.name+'</span> ('+item.position+') <span class="rating '+rating_color+' '+revision+'">'+item.rating+'</span></a>').appendTo(ul);
        }

        return $("<li></li>").data("item.autocomplete", item);
});
于 2013-04-20T01:51:27.007 回答
0

这就是我在评论中的意思:

function(ul, item) {
    $(ul).addClass("quicksearch");
    $(ul).css('margin-left','-125px');
    var rating_color = item.level;
    var revision = item.revision.toLowerCase();

    if(revision == "") { 
        return $("<li></li>").append('<a><img class="clubpicture" src="'+item.clubpicture+'" /><img class="nationpicture" src="'+item.nationpicture+'" /><span class="name">'+item.name+'</span> ('+item.position+') <span class="rating '+rating_color+' '+revision+'">'+item.rating+'</span></a>').appendTo(ul);
    }

    return $("<li></li>").data("item.autocomplete", item).append('<a><img class="clubpicture" src="'+item.clubpicture+'" /><img class="nationpicture" src="'+item.nationpicture+'" /><span class="name">'+item.name+'</span> ('+item.position+') <span class="rating '+rating_color+' '+revision+'">'+item.rating+'</span></a>').appendTo(ul);
};

这将在另一个触发之前返回条件。这是多余的,但会做你所要求的。请记住,两者之间唯一的区别是条件之一不设置数据项

于 2013-04-19T23:39:28.513 回答