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

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

如何根據(jù)數(shù)據(jù)屬性獲取特定的 HTML 元素 (jQuery)

如何根據(jù)數(shù)據(jù)屬性獲取特定的 HTML 元素 (jQuery)

千巷貓影 2023-12-11 09:58:00
我有多個<td帶有 data 屬性的 > 元素cell-pos,設(shè)置為不同的值,如下代碼所示:  setUpGrid($gameArea) {     for (let rowIdx = 0; rowIdx < this.board.gridSize; rowIdx++) {       const $tr = $("<tr>");      $gameArea.append($tr);       for (let colIdx = 0; colIdx < this.board.gridSize; colIdx++) {         const $td = $("<td>");        $td.data("cell-pos", [rowIdx, colIdx]);        $tr.append($td);      }    }  }如果我想檢索<td>cell-pos 值為 [10,10] 的元素,我該怎么做?我知道.attr()我可以只使用選擇器,$('td[data-cell-pos="[10,10]"]')但在這里我使用設(shè)置數(shù)據(jù)屬性.data(),因?yàn)槲也幌胫苯釉?HTML 標(biāo)記上公開數(shù)據(jù)屬性值(這就是所做的.attr())任何幫助表示贊賞,謝謝!
查看完整描述

1 回答

?
繁星淼淼

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

一種方法是找到所有匹配的元素,然后過濾它們的cell-pos數(shù)據(jù)值是否相同。例如(使用幾個divs):


$('#div1').data('cell-pos', [5, 4]);

$('#div2').data('cell-pos', [4, 5]);


console.log($('div').filter(function() {

  let cellpos = $(this).data('cell-pos');

  return JSON.stringify(cellpos) === JSON.stringify([4, 5]);

}).text());

<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>

<div id="div1">Div 1</div>

<div id="div2">Div 2</div>

請注意,使用JSON.stringify()比較適用于您所描述的簡單數(shù)組,但如果您的數(shù)據(jù)值變得更加復(fù)雜,您可能需要重新編寫比較代碼。



查看完整回答
反對 回復(fù) 2023-12-11
  • 1 回答
  • 0 關(guān)注
  • 120 瀏覽

添加回答

舉報(bào)

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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