Javascript jquery选择器全选

Javascript jquery选择器全选,javascript,jquery,jquery-selectors,Javascript,Jquery,Jquery Selectors,我使用jQuery选择器来显示所选内容$(选择器).addClass('jquery_green') //选择所有表格(工程) //选择第二个表、第四行、第一列(works) //选择所有表格,第四行,第一列(不工作)您能告诉我有什么问题吗 html > body > table tr:eq(3) > td:eq(0) 我发现的唯一选择(真的很愚蠢): var baseSelector=“html>body>table”; var selector=“tr:eq(3)>td:

我使用jQuery选择器来显示所选内容<代码>$(选择器).addClass('jquery_green')

//选择所有表格(工程)

//选择第二个表、第四行、第一列(works)

//选择所有表格,第四行,第一列(不工作)您能告诉我有什么问题吗

html > body > table tr:eq(3) > td:eq(0)
我发现的唯一选择(真的很愚蠢):

var baseSelector=“html>body>table”;
var selector=“tr:eq(3)>td:eq(0)”;
$(“.jquery_green”).removeClass(“jquery_green”);
var指数;
对于(索引=0;索引<10000;++索引){
sel=基本选择器+”:等式(“+索引+”)+选择器;
$(sel).addClass('jquery_green');
}

除了迭代之外,别无选择:

$("html > body > table").each(function(){
$(this).find("tr:eq(3) > td:eq(0)").addClass("jquery_green");
});

除了迭代之外,别无选择:

$("html > body > table").each(function(){
$(this).find("tr:eq(3) > td:eq(0)").addClass("jquery_green");
});

我不熟悉在同一个选择器中使用多个
:eq()
,但我认为您的选择器

html > body > table tr:eq(3) > td:eq(0)
正在查找文档范围内第四次出现的
html>body>table tr
元素,它只会给您一个
tr
元素,然后查找
tr
的第一个子
td
。如果我正确理解了
:eq()
,那么即使您有多个表,也只会产生一个
td
元素

考虑到您的结构,您可能只需将
:eq()
替换为
:nth-child()
:第一个孩子
,它们不受出现次数的限制,例如
:eq()
会:

html > body > table tr:nth-child(4) > td:first-child
还有一些建议:您可以删除
html>
位,因为它是多余的,如果您有嵌套的表,那么在
tr
之间添加一个
将有助于避免匹配顶级表中的任何嵌套行/列:

body > table > tbody > tr:nth-child(4) > td:first-child

我不熟悉在同一个选择器中使用多个
:eq()
,但我认为您的选择器

html > body > table tr:eq(3) > td:eq(0)
正在查找文档范围内第四次出现的
html>body>table tr
元素,它只会给您一个
tr
元素,然后查找
tr
的第一个子
td
。如果我正确理解了
:eq()
,那么即使您有多个表,也只会产生一个
td
元素

考虑到您的结构,您可能只需将
:eq()
替换为
:nth-child()
:第一个孩子
,它们不受出现次数的限制,例如
:eq()
会:

html > body > table tr:nth-child(4) > td:first-child
还有一些建议:您可以删除
html>
位,因为它是多余的,如果您有嵌套的表,那么在
tr
之间添加一个
将有助于避免匹配顶级表中的任何嵌套行/列:

body > table > tbody > tr:nth-child(4) > td:first-child

不知道你想在这里做什么。为什么要
:eq()
ing 10000次?如何通过单击表格行来选择它们?@kangoroo:@BoltClock♦: 因为我不知道页面上有多少个表。@kangoroo:我使用jQuery click事件来选择页面上的元素。不确定您在这里要做什么。为什么要
:eq()
ing 10000次?如何通过单击表格行来选择它们?@kangoroo:@BoltClock♦: 因为我不知道页面上有多少个表。@kangoroo:我使用jQuery click事件来选择页面上的元素。为什么需要使用
each()
?我认为没有必要这样做。你不能直接写
$(“body>table”).find(“tr:eq(3)>td:eq(0)”.addClass(“jquery_green”)?根据提供的代码,我认为用户在页面上有多个表,他希望从每个表中选择第三行。为什么需要使用
each()
?我认为没有必要这样做。你不能直接写
$(“body>table”).find(“tr:eq(3)>td:eq(0)”.addClass(“jquery_green”)?根据提供的代码,我认为用户在页面上有多个表,他希望从每个tableWorks中选择第三行,谢谢!我可以接受的解决方案是:html>body>table tr:nth child(4)>td:nth child(1)工作,谢谢!我可以接受的解决方案是:html>body>table tr:nth child(4)>td:nth child(1)