js:为什么这样判断不显示

发布于 2021-11-29 20:18:46 字数 1370 浏览 881 评论 2

不加蓝色代码部分:输入"web"或者"ask"能正确显示两条a标签;现在想输入不匹配时a标签不显示,所以加了蓝色的代码,但是输入"ask"能正常显示,为什么输入web就不显示了?

<style>

#main{width:600px;margin:0 auto;}

#aaaa{display:block;width:100%}

#mainul{width:100%;}

#mainul a{display:block;cursor: pointer; }
#mainul a:hover{color:red}
</style>
<div id="main">
<input id="aaaa"></input>
<div id="mainul">
</div>
</div>
<script>

var text = '{"web":[{"name":"baidu","url":"baidu.com"},{"name":"bing","url":"bing.com"}],"ask":[{"name":"百度图片","url":"baidu.com"},{"name":"bing","url":"bing.com"}]}';
var keyy=document.getElementById("aaaa");
obj = JSON.parse(text);



var mainul=document.getElementById("mainul");
 keyy.oninput=function(){


for(var p in obj){
if(p==keyy.value){


for(var i=0;i<obj[p].length;i++){
mainul.innerHTML +="<a title='"+obj[p][i].url+"'>"+obj[p][i].name+"</a>";
                                }
   }

 else {
 mainul.innerHTML="";
 } 

  }

          }
</script>

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

泛滥成性 2021-11-30 15:33:31

非常感谢,你太有才了

梦中楼上月下 2021-11-30 15:08:57

简而言之就是在for()循环里,input中输入了web,先判断了web,有值输出,但是没有break跳出,所以后面又去判断了ask,但是输入的值不是ask,所以执行else,就为空了

<head>

<meta http-equiv="content-type" content="text/html;charset=utf-8">

<style>

#main{width:600px;margin:0 auto;}

#aaaa{display:block;width:100%}

#mainul{width:100%;}

#mainul a{display:block;cursor: pointer; }

#mainul a:hover{color:red}

</style>

</head>

<div id="main">

<input id="aaaa"></input>

<div id="mainul">

</div>

</div>

<script>

var text = '{"web":[{"name":"baidu","url":"baidu.com"},{"name":"bing","url":"bing.com"}],"ask":[{"name":"百度图片","url":"baidu.com"},{"name":"bing","url":"bing.com"}]}';

var keyy=document.getElementById("aaaa");

obj = JSON.parse(text);

var mainul=document.getElementById("mainul");

keyy.oninput=function(){

for(var p in obj){

if(p==keyy.value){

for(var i=0;i<obj[p].length;i++){

mainul.innerHTML +="<a title='"+obj[p][i].url+"'>"+obj[p][i].name+"</a>";

}

break;

}

else{

  mainul.innerHTML="";

  } 

  }

  }

</script>

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文