用于选择第 n 个元素的 jQuery 伪代码不起作用?

标签 jquery jquery-selectors

我有这个,对于其中的每一行,我想选择第二个td。我知道最简单的方法(或至少一种方法)是使用 each() 并循环所有 tr 并选择/存储第二个 td 在每个循环内的某个变量中。

但我在想是否有一个直接的伪代码可以帮助我直接执行此操作而不需要任何循环,可能是 each() 或其他。

当我这样做时..

$('#ctl00_ContentPlaceHolder1_grdSelectedCloth > tbody > tr > td')

它给了我所有的td(s)(大约40行,每行5列)

当我这样做时..

$('#ctl00_ContentPlaceHolder1_grdSelectedCloth > tbody > tr > td:odd')

它给了我一半td(s)奇数,

当我这样做时

$('#ctl00_ContentPlaceHolder1_grdSelectedCloth > tbody > tr > td:even')

同样,它给了我 20 个 td(s),即偶数。

但是当我这样做时

$('#ctl00_ContentPlaceHolder1_grdSelectedCloth > tbody > tr > td:2')

它说语法错误,无法识别的表达式:不支持的伪:2

但是当我这样做时..

$('#ctl00_ContentPlaceHolder1_grdSelectedCloth > tbody > tr > td:eq(2)')

它只显示一个td???对于第一行,我的意思是,如果我应用伪代码 :odd:even,它会给出 td(s)所有行,但是当我执行 :eq(2) 时,它仅针对第一行给出第二个 td ??? 那么,我怎样才能获得所有行的第二个td,最好是不使用每个循环或任何类型的循环,而是使用某种伪代码?嗯>

ps:我在 Firefox 控制台中运行这个,以防万一想知道“语法错误,无法识别的表达式:不支持的伪:2”是什么意思?

最佳答案

试试这个:

$('#ctl00_ContentPlaceHolder1_grdSelectedCloth tr td:nth-child(2)');  // would select all cells that are in the 2nd column

关于用于选择第 n 个元素的 jQuery 伪代码不起作用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13873566/

相关文章:

javascript - Meteor - 在模板加载时将类添加到 DOM 元素

javascript - 获取每行中也与复合选择器匹配的第 n 个子节点

javascript - jQuery 查找带有类但不包含嵌套元素的第一级元素

javascript - 如何从 jquery 或 javascript 获取 HTML 的值

jquery :gt() inclusive

jquery-selectors - 如何选择具有特定类和任何其他类的元素?

php - 是否可以隐藏用 javascript 编写的代码?

jQuery 验证器不等于多个值

javascript - 如何在 backboneJS 事件中使用多个参数

jquery - JQuery 能否在换行到第二行之前检测到一行中的最后一个元素?