[英]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.