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

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

如何在 jQuery 中捕獲索引

如何在 jQuery 中捕獲索引

青春有我 2023-10-24 20:30:36
我想使用該index()方法獲取元素的索引。我準備了這段代碼,但這個函數總是返回-1. 我想了解一下:為什么這個函數返回-1如何修復它以獲得正確的索引?如果您有什么意見,請告訴我。謝謝const $days = $(this).find('.day');$("#calendar .day").on("click", function() {  console.log("index", $days.index(this));});td {  padding: 10px;  border: solid black 1px;}table {  border-collapse: collapse;}<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>      <td id=4 class=day>4</td>      <td id=5 class=day>5</td>      <td id=6 class=day>6</td>      <td id=7 class=day>7</td>    </tr>  </table></div>
查看完整描述

3 回答

?
萬千封印

TA貢獻1891條經驗 獲得超3個贊

您無需使用 jQuery 即可完成此操作。

let index = [...this.parentElement.childNodes].indexOf(this);


查看完整回答
反對 回復 2023-10-24
?
泛舟湖上清波郎朗

TA貢獻1818條經驗 獲得超3個贊

問題是因為this第一行引用了windowElement,所以find('.days')不返回任何內容。因此索引始終為-1。


index()要解決此問題,只需在單擊的元素上使用:


const $days = $("#calendar .day").on("click", function() {

  console.log("index", $(this).index());

});

td {

  padding: 10px;

  border: solid black 1px;

}


table {

  border-collapse: collapse;

}

<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>

      <td id="4" class="day">4</td>

      <td id="5" class="day">5</td>

      <td id="6" class="day">6</td>

      <td id="7" class="day">7</td>

    </tr>

  </table>

</div>


查看完整回答
反對 回復 2023-10-24
?
Qyouu

TA貢獻1786條經驗 獲得超11個贊

當你構建 jQuery 元素列表時.day,它應該是

const $days = $("#calendar .day");

在全局級別,this將是對它的引用window,并且 jQuery 將無法使用它。因此,您得到的-1意思是該元素不在列表中。


查看完整回答
反對 回復 2023-10-24
  • 3 回答
  • 0 關注
  • 143 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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