添加if语句以追加()

时间:2013-04-19 23:24:03

标签: jquery autocomplete

是否可以在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);
};

如果有人能指出我正确的方向,那将是伟大的

3 个答案:

答案 0 :(得分:1)

jsFiddle Demo

你可以挂钩到jquery

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

作为一个例子。这只会发送<div>元素以附加到。

答案 1 :(得分: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);
};

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

答案 2 :(得分: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);
});