簡體   English   中英

jQuery 選擇器使用多個 data-* 屬性選擇器

[英]jQuery selector using multiple data-* attribute selectors

我想使用一個從變量動態創建的屬性選擇器,但它只對變量中字符串的開頭(非動態部分)作出反應:

var dataKeys = 'td[data-key="name"],td[data-key="code"],td[data-key="date"]';
dataKeys = dataKeys + ',td[data-key="' + fieldsArray[i] + '"]';

當我按如下方式使用它時:

$(dataKeys, this).each(function ()

當 dataKeys: 時,它只對"name""code""date"鍵的屬性值做出反應

td[data-key="serial_no"], td[data-key="name"], td[data-key="code"], td[data-key="date"], td[data-key="serial_no"]"

我讓你的代碼部分在 1 個片段中工作。 起初我只有一個問題:我的瀏覽器刪除了TD元素,因為它們不在正確的 html 表格中,因此選擇器沒有找到td s

所以我把它放在一張桌子里,它起作用了。 (見下面的片段)。

錯誤很可能在您的代碼中的其他地方。 添加一些日志記錄或調試並查看變量具有哪些值可能會很好。 我只給你1個可能的解決方案。

 var fieldsArray = ['dynamic', 'serial_no']; var dataKeys = 'td[data-key="name"],td[data-key="code"],td[data-key="date"]'; dataKeys = dataKeys + ',td[data-key="' + fieldsArray[1] + '"]'; console.log('selector', dataKeys); $(dataKeys).each(function() { console.log('i am', this); });
 <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> <table> <tr> <td data-key="name">hey</td> <td data-key="code">hi</td> <td data-key="excluded">hoho</td> <td data-key="serial_no">hoho</td> <tr> <table>

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM