Javascript jquery选择器全选
我使用jQuery选择器来显示所选内容<代码>$(选择器).addClass('jquery_green')代码> //选择所有表格(工程) //选择第二个表、第四行、第一列(works) //选择所有表格,第四行,第一列(不工作)您能告诉我有什么问题吗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:
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)