标题 | 有关jQuery中parent()和siblings()的小问题 |
内容 | 今天发现一个小问题,现在也不知道到底是哪个梗在作祟,但是感觉是parent()和siblings()其中的一个。 我是想这样的根据输入的条件删选内容: demo: <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Document</title> <script src="http://code.jquery.com/jquery-latest.js"></script> <link href="https://cdn.bootcss.com/weui/0.4.2/style/weui.min.css" rel="stylesheet"> <meta name="viewport" content="width=device-width,initial-scale=1,user-scalable=0"> <script> $(function(){ var coding = "CODING"; var coding=coding.toUpperCase(); $(".bolSearch").hide().filter(".bolSearch:contains("+coding+")").show().parent().parent().siblings().hide(); }) </script> </head> <body> <div id="search_show"> <div> <div> <a>CODING</a> </div> </div> <div> <div> <a >WW11JS0261</a> </div> </div> <div> <div> <a >OTHER</a> </div> </div> <div> <div> <a >LITER</a> </div> </div> <div> <div> <a >POST</a> </div> </div> <div> <div> <a >WW11JM042222</a> </div> </div> <div> <div> <a>WW11JM031855</a> </div> </div> </div> </body> </html> 上面这个没问题: 搜索条件为存在:“COIDNG”(如下)的内容,在浏览器里也结结实实的展现出来了。 <script> $(function(){ var coding = "CODING"; var coding=coding.toUpperCase(); $(".bolSearch").hide().filter(".bolSearch:contains("+coding+")").show().parent().parent().siblings().hide(); }) </script> 但是,我把条件改为WW11时(如下),按我自己理解来讲,属于WW11的最后2个内容应该显示出来,但是什么都不出来?神马情况? <script> $(function(){ var coding = "WW11"; var coding=coding.toUpperCase(); $(".bolSearch").hide().filter(".bolSearch:contains("+coding+")").show().parent().parent().siblings().hide(); }) </script> 接着,再改搜索条件,把WW11改为WW11JM031也就是说这个条件是唯一的,不重复的。 没事了,选取的条件可以再次显示出来了。 接着,我又把条件WW11JM031改回WW11,同时 $(".bolSearch").hide().filter(".bolSearch:contains("+coding+")").show().parent().parent().siblings().hide(); 改为 $(".bolSearch").hide().filter(".bolSearch:contains("+coding+")").show(); 就达到我想显示出来的所有内容了。虽然内容满足了,但是显示又不满足我的要求了。 最后还是绕了一路,把样式改了。 但是这个梗还是没绕过去,不明白为什么只能筛选出唯一的条件。 |
随便看 |
|
在线学习网考试资料包含高考、自考、专升本考试、人事考试、公务员考试、大学生村官考试、特岗教师招聘考试、事业单位招聘考试、企业人才招聘、银行招聘、教师招聘、农村信用社招聘、各类资格证书考试等各类考试资料。