我对 jQuery 及其用法有足够的了解,但今天我遇到了一个问题,即使用 jQuery 在 table
的 th
元素中获取匹配标签的列索引。我想获取具有 label
文本作为 Mobile 的 th
元素的索引。在这种情况下,索引应为 2。我正在获取实际索引,但这不是正确的方法。所以我想知道为什么 jQuery 没有使用 index()
方法给我正确的索引。
我也写了JS Fiddler为此。
jQuery
var elem = $('#tbl th');
var rIndex;
alert('Length : ' + elem.length);
var index = elem.filter(
function(index){
var labelText = $(this).find('label').text();
//alert(index + ' - ' + labelText);
var result = labelText == 'Mobile';
if (result)
rIndex = index;
return result;
}).index();
alert("jQuery Index : " + index);
alert("Actual Index : " + rIndex);
HTML
<table id="tbl">
<tr>
<td></td>
<th><label>Application No.</label></th>
<td></td>
<th><label>Name</label></th>
<td></td>
<th><label>Mobile</label></th>
<td></td>
<th><label>Gender</label></th>
</tr>
</table>
最佳答案
如果没有参数传递给 .index() 方法,则返回值是一个整数,指示第一个元素在 jQuery 对象中相对于其同级元素的位置。
这会给你真实的索引 <强> DEMO
elem.each(function(){
if( $(this).find('label').text()=='Mobile') {
alert(elem.index(this));
}
});
关于jquery - 如何使用 jQuery 获取表列索引?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16581420/