有关jQuery中parent()和siblings()的小问题

时间:2021-05-18

今天发现一个小问题,现在也不知道到底是哪个梗在作祟,但是感觉是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 class="weui_cells weui_cells_access search_show" id="search_show" style="diplay:none;"><div class="weui_cell "><div class="weui_cell_bd weui_cell_primary"><a class="qy_color bolSearch">CODING</a></div></div><div class="weui_cell bolSearch"><div class="weui_cell_bd weui_cell_primary"><a class="qy_color bolSearch" >WW11JS0261</a></div></div><div class="weui_cell "><div class="weui_cell_bd weui_cell_primary"><a class="qy_color bolSearch" >OTHER</a></div></div><div class="weui_cell "><div class="weui_cell_bd weui_cell_primary"><a class="qy_color bolSearch" >LITER</a></div></div><div class="weui_cell "><div class="weui_cell_bd weui_cell_primary"><a class="qy_color bolSearch" >POST</a></div></div><div class="weui_cell"><div class="weui_cell_bd weui_cell_primary"><a class="qy_color bolSearch" >WW11JM042222</a></div></div><div class="weui_cell"><div class="weui_cell_bd weui_cell_primary"><a class="qy_color bolSearch">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();

就达到我想显示出来的所有内容了。虽然内容满足了,但是显示又不满足我的要求了。

最后还是绕了一路,把样式改了。

但是这个梗还是没绕过去,不明白为什么只能筛选出唯一的条件。

声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。

相关文章