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

前端技术 2023/09/03 JavaScript

今天发现一个小问题,现在也不知道到底是哪个梗在作祟,但是感觉是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(); 

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

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

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

本文地址:https://www.stayed.cn/item/7434

转载请注明出处。

本站部分内容来源于网络,如侵犯到您的权益,请 联系我

我的博客

人生若只如初见,何事秋风悲画扇。