繁体   English   中英

检查JavaScript中表格的任何行中是否存在类

[英]Check whether a class exists in any row of a table in JavaScript

我有一张桌子(此问题的简化版):

<table><br>
  <tr onclick="selectRow"><br>
    <td>table data</td><br>
    <td>table data</td><br>
    <td>table data</td><br>
  </tr><br>
  <tr class="selected" onclick="selectRow"><br>
    <td>table data</td><br>
    <td>table data</td><br>
    <td>table data</td><br>
  </tr><br>
</table>

class="selected"是单击该行的结果。 我要创建一个按钮,当单击该按钮时,如果存在带有“ selected”类的行,则返回true,否则返回false。

任何帮助是极大的赞赏。

function checkExist(){
       var myTr = document.getElementsByTagName('tr');

       for(var i=myTr.length; i--;){
           if(myTr[i].className.match('(^|\\s+)selected(\\s+|$)')){
               alert('true');//return true;
               return;
           }
       }
       alert('false'); //return false
}

并基本上附加到这样的按钮或链接上:

<table>
    <tr onclick="selectRow">
        <td>table data</td>
        <td>table data</td>
        <td>table data</td>
    </tr>
    <tr class='selected' onclick="selectRow">
        <td>table data</td>
        <td>table data</td>
        <td>table data</td>
    </tr>
</table>
<a href='#' onclick='checkExist()'>click me to find out</a>

如果可以使用jQuery:

http://api.jquery.com/hasClass/

您是否考虑过使用图书馆? 使用jQuery,可能就像http://jsfiddle.net/andersand/QAb4s/

我的经验是,使用JS框架使我不必担心跨浏览器兼容性,同时还提高了开发速度

在不使用外部库的情况下,您必须执行以下操作:

  1. 获取表中的所有行并开始遍历它们
  2. 检查类的每一行的className属性( selected )。
    • 如果您只处理一个类,则可以进行比较:
      tr.className === 'selected'
    • 如果一行可以有多个类,则可能要使用正则表达式。 类似于/\\bselected\\b/
  3. 一旦找到匹配项,请取消循环并立即返回true

为了获得额外的荣誉,您可以将所有这些放到一个函数中,该函数将要查找的类和要在其中查找的表作为参数。

作业应在星期一早上进行。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM