有关jQuery中parent()和siblings()的小问题
今天发现一个小问题,现在也不知道到底是哪个梗在作祟,但是感觉是parent()和siblings()其中的一个。
我是想这样的根据输入的条件删选内容:
demo:
<!DOCTYPEhtml>
<htmllang="en">
<head>
<metacharset="UTF-8">
<title>Document</title>
<scriptsrc="http://code.jquery.com/jquery-latest.js"></script>
<linkhref="https://cdn.bootcss.com/weui/0.4.2/style/weui.min.css"rel="stylesheet">
<metaname="viewport"content="width=device-width,initial-scale=1,user-scalable=0">
<script>
$(function(){
varcoding="CODING";
varcoding=coding.toUpperCase();
$(".bolSearch").hide().filter(".bolSearch:contains("+coding+")").show().parent().parent().siblings().hide();
})
</script>
</head>
<body>
<divclass="weui_cellsweui_cells_accesssearch_show"id="search_show"style="diplay:none;">
<divclass="weui_cell">
<divclass="weui_cell_bdweui_cell_primary">
<aclass="qy_colorbolSearch">CODING</a>
</div>
</div>
<divclass="weui_cellbolSearch">
<divclass="weui_cell_bdweui_cell_primary">
<aclass="qy_colorbolSearch">WW11JS0261</a>
</div>
</div>
<divclass="weui_cell">
<divclass="weui_cell_bdweui_cell_primary">
<aclass="qy_colorbolSearch">OTHER</a>
</div>
</div>
<divclass="weui_cell">
<divclass="weui_cell_bdweui_cell_primary">
<aclass="qy_colorbolSearch">LITER</a>
</div>
</div>
<divclass="weui_cell">
<divclass="weui_cell_bdweui_cell_primary">
<aclass="qy_colorbolSearch">POST</a>
</div>
</div>
<divclass="weui_cell">
<divclass="weui_cell_bdweui_cell_primary">
<aclass="qy_colorbolSearch">WW11JM042222</a>
</div>
</div>
<divclass="weui_cell">
<divclass="weui_cell_bdweui_cell_primary">
<aclass="qy_colorbolSearch">WW11JM031855</a>
</div>
</div>
</div>
</body>
</html>
上面这个没问题:
搜索条件为存在:“COIDNG”(如下)的内容,在浏览器里也结结实实的展现出来了。
<script>
$(function(){
varcoding="CODING";
varcoding=coding.toUpperCase();
$(".bolSearch").hide().filter(".bolSearch:contains("+coding+")").show().parent().parent().siblings().hide();
})
</script>
但是,我把条件改为WW11时(如下),按我自己理解来讲,属于WW11的最后2个内容应该显示出来,但是什么都不出来?神马情况?
<script>
$(function(){
varcoding="WW11";
varcoding=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();
就达到我想显示出来的所有内容了。虽然内容满足了,但是显示又不满足我的要求了。
最后还是绕了一路,把样式改了。
但是这个梗还是没绕过去,不明白为什么只能筛选出唯一的条件。