你在没有查询数据的时候少了一个判断
var mockData=[{
name:'abc',link:"http://www.baidu.com"
}
,{
name:'abcd',link:"http://image.baidu.com"
}
];
function $(id){
return document.getElementById(id);
}
function hide(dom){
dom.style.display='none';
}
function show(dom){
dom.style.display='block';
}
function bindLabelToInput(labelId,inputId){
$(inputId).onfocus=function(){
hide($(labelId));
};
$(inputId).onblur=function(){
if(this.value==null||this.value.length<1){
show($(labelId));
}
};
}
function createDomTo(tagName,arr,parentNode){
for(var i=0;i<arr.length;i++){
var tag=document.createElement(tagName);
tag.innerHTML="<a href='"+arr[i].link+"' target=_black>"+arr[i].name+"</a>";
parentNode.appendChild(tag);
}
}
window.onload=function(){
bindLabelToInput('lbl-search','txt-search');
var adviceWords=new Array();
var ul=$('search-advice-list');
$('txt-search').onkeyup=function(){
if(this.value.length>0){
for(var i=0;i<mockData.length;i++){
if(mockData[i].name.indexOf(this.value)>=0){
adviceWords.push(mockData[i]);
}
}
if(adviceWords.length>0){

console.log(adviceWords);
ul.innerHTML='';
createDomTo('li',adviceWords,ul);
show(ul.parentNode);
}else{//在这里判断如果没有符合条件的数据的时候全部隐藏元素
hide(ul.parentNode);
}


adviceWords=new Array();
}
else{
hide(ul.parentNode);
}
};
};