我正在尝试使用eq()
选择器获取第四个单元格的类。它的工作没有eq
选择器,如下所示:
alert($cell.closest( "td" ).next().next().next().attr("class"));
我尝试使用eq()
的多种变体,但它不起作用请求帮助。
以下都不起作用。
$cell = $(this);
alert($cell.find( "td" ).eq(3).attr("class"));
alert($cell.closest( "td" ).eq(3).attr("class"));
alert($cell.( "td:eq(3)" ).attr("class"));
答案 0 :(得分:1)
这不是eq
方法的工作方式。
给定一个表示一组DOM元素的jQuery对象,.eq()方法从该集合中的一个元素构造一个新的jQuery对象。提供的索引标识该元素在该集合中的位置。
当closest
方法返回一个元素时,eq(3)
会返回一个空集。您可以使用nextAll
方法创建一组下一个兄弟。然后eq(3)
将返回该集合中的第四个元素:
$cell.closest("td").nextAll().eq(3).attr("class");
请注意,如果此处this
引用td
元素,则closest('td')
不会执行任何操作。