我有一个html表 - TemplateData。在Tbody里面,我在每一行都有一个专栏&data; uid',这可能不是唯一的。我在按升序显示之前对表进行了排序。它看起来像这样:
<tr id="Tr2" data-uid="1" role="row" class="odd"/>
<tr id="Tr2" data-uid="2" role="row" class="even"/>
<tr id="Tr2" data-uid="2" role="row" class="odd"/>
<tr id="Tr2" data-uid="2" role="row" class="even"/>
<tr id="Tr2" data-uid="3" role="row" class="odd"/>
<tr id="Tr2" data-uid="4" role="row" class="odd"/>
注2出现三次。每个值可能出现不止一次
我可以使用以下方式获取该表:
var table = $('#TemplateData').dataTable();
我的问题是:如果我的值存储在&#39; val&#39;如何查看表格以获取data-uid=val;
所以...像table.rows [val]
这样的东西从这里检查下一行,看看它的data-uid是否与val不同。如果是这样就传回这个值。如果没有继续到下一行,直到找到不同的值。
...所以
val = 2
get table.row[where val = data-uid]
check next row
if table.rows[data-uid = val] continue until it is not the same, when value is different pass back
var newVal = ?
....任何帮助将不胜感激
答案 0 :(得分:2)
这是纯JavaScript,希望它有所帮助。
var elements = document.getElementsByTagName('tr');
var elementsLength = elements.length;
for (var i = 0; i < elements.length; i++) {
var currentElement = elements[i].getAttribute('data-uid');
for (var j = i + 1; j < elements.length; j++) {
var nextElement = elements[j].getAttribute('data-uid');
if(currentElement !== nextElement) {
return elements[j].getAttribute('data-uid');
}
}
}
上帝好运,
Zorken17
答案 1 :(得分:0)
即使您没有使用它,id属性也应该是唯一的。
然后,您可以使用jquery select语法来获取具有某些特征的行:
function datavalchanged(value) {
..put code to execute at change detection;
}
var group = $('tr[role="row"]');
var desired dataval = group[0].getAttribute('data-uid');
/* additionally put dataval=0 to detect also first data-uid change. */
获取具有role = row和cycle的所有行,就像数组一样。
for (var i = 0; i < group.length; i++) {
var row = group[i];
var value = row.getAttribute('data-uid');
while (value == dataval) {
continue;
}
datavalchanged(value);
dataval=value;
/*ready for next change detection or force exit if interested in first change*/
}
在while循环结束时,该值具有您需要的下一个值。
编辑: 它看起来像我写的它不起作用,如果HTML不完整:
<table>
<tr id="Tr2" data-uid="1" role="row" class="odd" ><td></td></tr>
<tr id="Tr2" data-uid="2" role="row" class="even"><td></td></tr>
<tr id="Tr2" data-uid="2" role="row" class="odd" ><td></td></tr>
<tr id="Tr2" data-uid="2" role="row" class="even"><td></td></tr>
<tr id="Tr2" data-uid="3" role="row" class="odd" ><td></td></tr>
<tr id="Tr2" data-uid="4" role="row" class="odd" ><td></td></tr>
</table>