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

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

如何在html表格中正確定義$(this)

如何在html表格中正確定義$(this)

慕俠2389804 2023-10-17 20:01:06
當(dāng)我應(yīng)用each方法時,我對定義感到困惑this。當(dāng)我單擊 element 時,我想獲取每個單元格id,但似乎this顯示整個單元格calendar我的問題是① 為什么點(diǎn)擊單元格時this會顯示?#calendarid②單擊單元格時如何定義和獲取每個單元格?如果有人遇到過同樣的問題,請告訴我。謝謝var $ = jQuery;const $days = $(this).find('.day');function register() {  function clicked() {    alert("clicked");    $(this).toggleClass('is-clicked');        let clickedID=$(this).attr('id');    console.log("clickedID",clickedID);  }  $(this).on({    click: clicked  });}$("#calendar").each(register);td {  padding: 10px;  border: solid black 1px;}table {  border-collapse: collapse;}.is-clicked {  background-color: aqua;}td:hover {  background-color: yellow;}<script src="https://code.jquery.com/jquery-3.3.1.js"></script><div id=calendar>  <table>    <tr>      <td id=1 class=day>1</td>      <td id=2 class=day>2</td>      <td id=3 class=day>3</td>    </tr>  </table></div>
查看完整描述

2 回答

?
jeck貓

TA貢獻(xiàn)1909條經(jīng)驗(yàn) 獲得超7個贊

each在 上應(yīng)用#calendar,它會將處理程序應(yīng)用于該對象,因此this將始終引用它。

相反,您需要應(yīng)用eachon.day來迭代單元格和綁定處理程序。

$("#calendar .day").each(register);

function register() {

  function clicked() {

    alert("clicked");

    $(this).toggleClass('is-clicked');


    let clickedID = $(this).attr('id');

    console.log("clickedID", clickedID);

  }


  $(this).on({

    click: clicked

  });

}

$("#calendar .day").each(register);

td {

  padding: 10px;

  border: solid black 1px;

}


table {

  border-collapse: collapse;

}


.is-clicked {

  background-color: aqua;

}


td:hover {

  background-color: yellow;

}

<script src="https://code.jquery.com/jquery-3.3.1.js"></script>


<div id=calendar>

  <table>

    <tr>

      <td id=1 class=day>1</td>

      <td id=2 class=day>2</td>

      <td id=3 class=day>3</td>

    </tr>

  </table>

</div>


查看完整回答
反對 回復(fù) 2023-10-17
?
哆啦的時光機(jī)

TA貢獻(xiàn)1779條經(jīng)驗(yàn) 獲得超6個贊

this指的是日歷。刪除this并添加td.


var $ = jQuery;

const $days = $(this).find('.day');


function register() {

  function clicked() {

    alert("clicked");

    $(this).toggleClass('is-clicked');

    

    let clickedID=$(this).attr('id');

    console.log("clickedID",clickedID);

  }

  console.log(this) 

  $('td').on({  //===========> Add td instead of this

    click: clicked

  });

}

$("#calendar").each(register);

td {

  padding: 10px;

  border: solid black 1px;

}


table {

  border-collapse: collapse;

}


.is-clicked {

  background-color: aqua;

}


td:hover {

  background-color: yellow;

}

<script src="https://code.jquery.com/jquery-3.3.1.js"></script>


<div id=calendar>

  <table>

    <tr>

      <td id=1 class=day>1</td>

      <td id=2 class=day>2</td>

      <td id=3 class=day>3</td>

    </tr>

  </table>

</div>


查看完整回答
反對 回復(fù) 2023-10-17
  • 2 回答
  • 0 關(guān)注
  • 148 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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