微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

有没有办法比较 HTML 中两个选定表格的行?

如何解决有没有办法比较 HTML 中两个选定表格的行?

我有多个表,我想选择任意两个表,然后单击按钮(计算)对每一行执行一些任务。如何访问所选表的数据,以便我可以比较它们的任务数据?目前我正在使用复选框来选择表格,但卡住了如何访问表格的内容进行比较?

    var selectedRows = document.getElementsByClassName('selected');
    
    function inputChanged(event) {
        console.log(table)
        alert(selectedRows)
        console.log(selectedRows)
            event.target.parentElement.parentElement.className =
                event.target.checked ? 'selected' : '';
        }
.table_container{
        float:left;
        width:25%;
    }
    .container::after{  
  content: "";
  clear: both;
  display: table;
    }
    table{
        margin: 0 auto; 
        
        border-radius: 10px;
    }
    tr{
        padding: 15px;
        text-align: center;
    }
    td{
        color: black;
        text-align: center;
        vertical-align: middle;
        border: 1px double white;
        height: 50px;
        background-color: #e1edf9;
        width:272px;
    }
    .sub_text{
        font-size: 12px;
        font-style: italic;
        color: #0071ce;
        font-weight: 100;
    }
    th{
        background-color: #0071ce;
        text-align: center;
        padding: 10px;
        border-top-left-radius: 10px;
        border-top-right-radius: 10px;
        color: white;
        font-weight: bold;
    }
    .header{
        color: #0071ce;
        font-weight: bold;
        padding: 10px;
    }
<div class="container"> 
</div>

<div class="table_container">
<table id="plans">
    <tr><th>Plan A
        <input id="mycheck" type="checkBox" onchange="inputChanged(event)" />

    </th></tr>
    <tr>
        <td>$33.90</td>
    </tr>
    <tr>
        <td>$161.30</td>
    </tr>   
    <tr>
        <td>$53.30</td>
    </tr>
    <tr>
        <td>$186.20</td>
    </tr>
    <tr>
        <td>HSA match:up to $350</td>
    </tr>
    <tr>
        <td>HSA match:up to $700</td>
    </tr>
    <tr>
        <td>$3000</td>
    </tr>
</table>    
    </div>

<div class="table_container">
<table id="plans" >
    <tr><th>Plan B
        <input id="mycheck" type="checkBox" onchange="inputChanged(event)" />
    </th></tr>
    <tr>
        <td>$1386.20</td>
    </tr>
    <tr>
        <td>HSA match:up to $1350</td>
    </tr>
    <tr>
        <td>HSA match:up to $7010</td>
    </tr>
    <tr>
        <td>$222</td>
    </tr>
    <tr>
        <td>$55</td>
    </tr>
    <tr>
        <td>$432</td>
    </tr>
    <tr>
        <td>$300</td>
    </tr>
</table>    
    </div>

<div class="table_container">
<table id="plans">
    <tr><th>Plan C</th></tr>
    <tr>
        <td>$33.90</td>
    </tr>
    <tr>
        <td>$1161.30</td>
    </tr>   
    <tr>
        <td>$513.30</td>
    </tr>
    <tr>
        <td>$286.20</td>
    </tr>
    <tr>
        <td>HSA match:up to $1350</td>
    </tr>
    <tr>
        <td>HSA match:up to $1700</td>
    </tr>
    <tr>
        <td>$80</td>
    </tr>
    
</table>    
<button onclick="Calculate()">Compare</button>
    </div>
</div>

解决方法

你的意思

const container = document.getElementById("container");
document.getElementById("check").addEventListener("click",function() {
  const checks = container.querySelectorAll(".select:checked")
  if (checks.length >= 2) {
    checks.forEach(chk => {
      const table = chk.nextElementSibling;
      console.log(table.querySelectorAll("td")[3].textContent)
    })
  }
})
td {
  border: 1px solid black
}
<button type="button" id="check">Compare</button>
<div id="container">
  <input type="checkbox" class="select">
  <table>
    <tbody>
      <tr>
        <td>Row 1</td>
        <td>Table 1 Row 1 Cell 2</td>
      </tr>
      <tr>
        <td>Row 2</td>
        <td>Table 1 Row 2 Cell 2</td>
      </tr>
    </tbody>
  </table>
  <input type="checkbox" class="select">
  <table>
    <tbody>
      <tr>
        <td>Row 1</td>
        <td>Table 2 Row 1 Cell 2</td>
      </tr>
      <tr>
        <td>Row 2</td>
        <td>Table 2 Row 2 Cell 2</td>
      </tr>
    </tbody>
  </table>
  <input type="checkbox" class="select">
  <table>
    <tbody>
      <tr>
        <td>Row 1</td>
        <td>Table 3 Row 1 Cell 2</td>
      </tr>
      <tr>
        <td>Row 2</td>
        <td>Table 3 Row 2 Cell 2</td>
      </tr>
    </tbody>
  </table>

</div>

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐


Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其他元素将获得点击?
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。)
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbcDriver发生异常。为什么?
这是用Java进行XML解析的最佳库。
Java的PriorityQueue的内置迭代器不会以任何特定顺序遍历数据结构。为什么?
如何在Java中聆听按键时移动图像。
Java“Program to an interface”。这是什么意思?