首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如果值在数组中,则隐藏表数据

如果值在数组中,则隐藏表数据
EN

Stack Overflow用户
提问于 2021-06-25 21:38:56
回答 4查看 150关注 0票数 1

如果TD的值位于我指定的数组中,则我试图将TD隐藏在表上。

代码语言:javascript
复制
<table border="1">
    <tr class="tr-2">
        <td class="weeknd">22</td>
        <td class="weeknd">23</td>
        <td class="weeknd">24</td>
        <td class="weeknd">25</td>
        <td class="weeknd">26</td>
    </tr>
</table>
<script src="https://code.jquery.com/jquery-3.6.0.js" integrity="sha256-H+K7U5CnXl1h5ywQfKtSj8PCmoN9aaq30gDh27Xc0jk=" crossorigin="anonymous"></script>
<script src="main.js"></script>

和剧本

代码语言:javascript
复制
    const myarray = [22,23,24,25];
    var weeknd = Array();


    $(myarray).each(function(i) {
        console.log(myarray[i])
    })

    $(".weeknd").each(function(index, i){
       weeknd[index] = $(this).text();
        if(weeknd[index] == myarray[i]){
            $(this).hide()
        }
    })

这是代码库:https://codepen.io/Xteripus/pen/yLMmZqw?editors=1111

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2021-06-25 21:44:58

您可以使用Array#includes检查内容是否在myarray中。

代码语言:javascript
复制
const myarray = [22,23,24,25];

$(".weeknd").each(function() {
   if(myarray.includes(+$(this).text())) $(this).hide();
});
代码语言:javascript
复制
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>

<table border="1">
  <tr class="tr-2">
    <td class="weeknd">22</td>
    <td class="weeknd">23</td>
    <td class="weeknd">24</td>
    <td class="weeknd">25</td>
    <td class="weeknd">26</td>
  </tr>
</table>

票数 1
EN

Stack Overflow用户

发布于 2021-06-25 21:43:12

要实现所需的目标,您可以遍历每个td并使用toggle()根据indexOf()的结果隐藏/显示它们,将td文本与数组中的值进行比较。试试这个:

代码语言:javascript
复制
const myarray = [22, 23, 24, 25];

jQuery($ => {
  $('.weeknd').each((i, el) => $(el).toggle(myarray.indexOf(parseInt(el.textContent, 10)) === -1));
});  
代码语言:javascript
复制
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<table border="1">
  <tr class="tr-2">
    <td class="weeknd">22</td>
    <td class="weeknd">23</td>
    <td class="weeknd">24</td>
    <td class="weeknd">25</td>
    <td class="weeknd">26</td>
  </tr>
</table>
<script src="https://code.jquery.com/jquery-3.6.0.js" integrity="sha256-H+K7U5CnXl1h5ywQfKtSj8PCmoN9aaq30gDh27Xc0jk=" crossorigin="anonymous"></script>

票数 1
EN

Stack Overflow用户

发布于 2021-06-25 21:50:03

最好的方法是在HTML中添加一些简单的索引,如下所示:

代码语言:javascript
复制
<table border="1">
    <tr class="tr-2">
        <td id="weeknd22" class="weeknd">22</td>
        <td id="weeknd23" class="weeknd">23</td>
        <td id="weeknd24" class="weeknd">24</td>
        <td id="weeknd25" class="weeknd">25</td>
        <td id="weeknd26" class="weeknd">26</td>
    </tr>
</table>

这使得通过这样做可以很容易地隐藏数组中的那些

代码语言:javascript
复制
const myarray = [22,23,24,25];

    myarray.forEach(function(e){
    
        var el = document.getElementById("weeknd"+e);
        if (el) el.style.display="none";
    
    })

我使用了普通的旧JavaScript,因为它显示了您是多么容易做到这一点。当然,您可以使用jQuery并修改我所使用的原则。

例如,如果您不想使用ID(或者您有多个相同号码的TD),您可以添加一个类,例如.weeknd22,并将其用作Dom中的查找引用,以找到匹配的TD。如果使用.querySelectorAll(".weeknd22"),它将允许多个匹配。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/68137300

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档