第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問(wèn)題,去搜搜看,總會(huì)有你想問(wèn)的

為什么這段 JavaScript 會(huì)重復(fù)?

為什么這段 JavaScript 會(huì)重復(fù)?

梵蒂岡之花 2023-12-04 17:07:10
我正在嘗試創(chuàng)建一個(gè)發(fā)票系統(tǒng)。我有以下代碼:function addRow() {  var table = document.getElementById("invoiceTable"),    rIndex, cIndex;  for (var i = 0; i < table.rows.length; i++) {    for (var j = 0; j < table.rows[i].cells.length; j++) {      table.rows[i].cells[j].onclick = function() {        rIndex = this.parentElement.rowIndex + 1;        cIndex = this.cellindex + 1;        document.getElementById("invoiceTable").insertRow(rIndex).innerHTML = `<tr>          <td><div contenteditable></div></td>          <td><div contenteditable></div></td>          <td><div contenteditable></div></td>          <td><div contenteditable></div></td>          <td><div contenteditable></div></td>          <td>            <div>              <button                type="button"                name="button"                onclick="addRow()"                style="background-color: Transparent; border: none; color: green;"              >                <i class="fas fa-plus-circle"></i>              </button>            </div>          </td>        </tr>`;      }    }  }}<!-- Font Awesome CDN --><link rel="stylesheet" href="https://use.fontawesome.com/releases/v5.8.1/css/all.css" integrity="sha384-50oBUHEmvpQ+1lW4y57PTFmhCaXp0ML5d60M1M7uH2+nqUivzIebhndOJK28anvf" crossorigin="anonymous"><!-- Bootstrap CSS/CDN --><link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.3.1/css/bootstrap.min.css" integrity="sha384-ggOyR0iXCbMQv3Xipma34MD+dH/1fQ784/j6cY/iJTQUOhcWr7x9JvoRxT2MZw1T" crossorigin="anonymous"><main role="main">  <div class="container">    <div class="row">      <div class="col-md-12 mt-5">        <table class="table thead-dark table-hover border-bottom" id="invoiceTable">現(xiàn)在這工作正常,但在我單擊按鈕添加行后出現(xiàn)問(wèn)題。單擊按鈕后,只需單擊按鈕所在的行即可添加另一行。此外,單擊標(biāo)題會(huì)在單擊按鈕后添加行。我很確定我需要告訴腳本停止做事,但就 JS 而言,我充其量是個(gè)新手,所以我不知道如何做。有任何想法嗎?
查看完整描述

2 回答

?
撒科打諢

TA貢獻(xiàn)1934條經(jīng)驗(yàn) 獲得超2個(gè)贊

invoiceTableHTML 是相同的,但如果您愿意,可以刪除id 。


JS:


function addRow() {

var tbody = document.querySelector("tbody")


tbody.innerHTML +=

    '<tr>' +

        '<td><div contenteditable></div></td>' +

        '<td><div contenteditable></div></td>' +

        '<td><div contenteditable></div></td>' +

        '<td><div contenteditable></div></td>' +

        '<td><div contenteditable></div></td>' +

        '<td><div><button type="button" name="button" onclick="addRow()" style="background-color:Transparent; border:none; color:green;"><i class="fas fa-plus-circle"></i></button></div></td>'; +

    '</tr>';

}

因?yàn)槲覜](méi)有看到循環(huán)每個(gè)元素的意義,所以我只是直接擴(kuò)展了新行。+ 按鈕仍會(huì)在最后創(chuàng)建一行,但其他任何操作都不會(huì)。這是想要的嗎?


查看完整回答
反對(duì) 回復(fù) 2023-12-04
?
泛舟湖上清波郎朗

TA貢獻(xiàn)1818條經(jīng)驗(yàn) 獲得超3個(gè)贊

table.rows.length將選擇所有內(nèi)容rows,包括具有 的行th。相反,僅選擇tbody trs.


function addRow() {

  var table = document.querySelector("tbody"),

    rIndex, cIndex;

  for (var i = 0; i < table.rows.length; i++) {

    //   console.log(table.rows[i].cells);

    for (var j = 0; j < table.rows[i].cells.length; j++) {

      table.rows[i].cells[j].onclick = function() {

        rIndex = this.parentElement.rowIndex + 1;

        cIndex = this.cellindex + 1;

        document.getElementById("invoiceTable").insertRow(rIndex).innerHTML = '' +

          '<tr>' +

          '<td><div contenteditable></div></td>' +

          '<td><div contenteditable></div></td>' +

          '<td><div contenteditable></div></td>' +

          '<td><div contenteditable></div></td>' +

          '<td><div contenteditable></div></td>' +

          '<td><div><button type="button" name="button" onclick="addRow()" style="background-color:Transparent; border:none; color:green;"><i class="fas fa-plus-circle"></i></button></div></td>'; +

        '</tr>'

      }

    }

  }

}

<link href="https://use.fontawesome.com/releases/v5.8.1/css/all.css" rel="stylesheet"/>

<main role="main">

  <div class="container">

    <div class="row">

      <div class="col-md-12 mt-5">

        <table class="table thead-dark table-hover border-bottom" id="invoiceTable">

          <thead>

            <tr>

              <th style="width: 10%">Item</th>

              <th style="width: 50%">Description</th>

              <th style="width: 5%">Qty</th>

              <th style="width: 10%">Price</th>

              <th style="width: 10%">Amount</th>

              <th style=>Action</th>

            </tr>

          </thead>


          <tbody>

            <tr>

              <td>

                <div contenteditable></div>

              </td>

              <td>

                <div contenteditable></div>

              </td>

              <td>

                <div contenteditable></div>

              </td>

              <td>

                <div contenteditable></div>

              </td>

              <td>

                <div contenteditable></div>

              </td>

              <td>

                <div><button type="button" name="button" onclick="addRow()" style="background-color:Transparent; border:none; color:green;"><i

                        class="fas fa-plus-circle"></i></button></div>

              </td>

            </tr>

          </tbody>

        </table>

      </div>

    </div>

  </div>

</main>

<!-- /role main -->


查看完整回答
反對(duì) 回復(fù) 2023-12-04
  • 2 回答
  • 0 關(guān)注
  • 185 瀏覽

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購(gòu)課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)