亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

根據其他父級刪除另一個父級中的表格行元素

根據其他父級刪除另一個父級中的表格行元素

蠱毒傳說 2022-01-07 21:22:27
在將其評論為重復之前,請仔細閱讀。我有一個看起來像這樣的表結構:          <td>              <table class="schedule_day_table">                  <tr>                      <td>1.</td>                      <td><div>GO TO SCHOOL</div></td>                  </tr>                  <tr>                      <td>.</td>                      <td><div></div></td>                  </tr>                  <tr>                      <td>3.</td>                      <td><div>READ A BOOK</div></td>                  </tr>              </table>          </td>          <td>              <table class="schedule_time_table">                  <tr><td>08:30 - 09:15</td></tr>                  <tr><td>09:25 - 10:10</td></tr>                  <tr><td>11:30 - 12:15</td></tr>              </table>          </td>如您所見,我有時間表打印出 schedule_day_table 1 和 3,但從不打印出 2,因為當時沒有時間表,但 schedule_time_table 始終打印出所有時間。我想要實現的是,如果 schedule_day_table tr td 中只有點 (.),我想刪除 schedule_time_table tr 元素,我想得到這樣的輸出:<td>              <table class="schedule_day_table">                  <tr>                      <td>1.</td>                      <td><div>GO TO SCHOOL</div></td>                  </tr>                  <tr>                      <td>3.</td>                      <td><div>READ A BOOK</div></td>                  </tr>              </table>          </td>          <td>              <table class="schedule_time_table">                  <tr><td>08:30 - 09:15</td></tr>                  <tr><td>11:30 - 12:15</td></tr>              </table>          </td>在我的情況下,這必須在 JS 中完成。
查看完整描述

2 回答

?
小唯快跑啊

TA貢獻1863條經驗 獲得超2個贊

如果您將它掛在文檔加載上,這應該可以工作。


const dayRows = document.querySelectorAll('.schedule_day_table tr');

const timeRows = document.querySelectorAll('.schedule_time_table tr');


dayRows.forEach((row, i) => {

  //select first cell of the row

  let td = row.querySelector('td');

  if(td.innerHTML == ".") {

     row.parentNode.removeChild(row);

     timeRows[i].parentNode.removeChild(timeRows[i]);

  }

});

<td>

              <table class="schedule_day_table">

                  <tr>

                      <td>1.</td>

                      <td><div>GO TO SCHOOL</div></td>

                  </tr>

                  <tr>

                      <td>.</td>

                      <td><div></div></td>

                  </tr>

                  <tr>

                      <td>3.</td>

                      <td><div>READ A BOOK</div></td>

                  </tr>

              </table>

          </td>


          <td>

              <table class="schedule_time_table">

                  <tr><td>08:30 - 09:15</td></tr>

                  <tr><td>09:25 - 10:10</td></tr>

                  <tr><td>11:30 - 12:15</td></tr>

              </table>

          </td>


查看完整回答
反對 回復 2022-01-07
?
慕雪6442864

TA貢獻1812條經驗 獲得超5個贊

       const scheduleDayTableRows = Array.from(document.querySelectorAll(".schedule_day_table tr"));


        scheduleDayTableRows.map((row) => {

            if (row.querySelector("td").innerHTML === ".") {

                row.remove();

            }

        })

它是如何工作的?

首先,您需要從第一個表中選擇所有表行,然后您應該從這些行中迭代并找到第一個嵌套的 td。如果它的innerHTML 等于“。” 您可以使用 row.remove() 刪除此行


查看完整回答
反對 回復 2022-01-07
  • 2 回答
  • 0 關注
  • 197 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號