我想迭代line元素。每个 line 元素都有 item 元素作为子元素。因此,首先我迭代 line,然后我想处理某个 item 元素,例如第三。这是我的代码:
$(".pricetable .righttable .line:not(.blank)").each(function(j) {
var currentLine = $(".pricetable .righttable .line:not(.blank)").eq(j);
currentLine.(".item").each(function(k) {
$(".pricetable .righttable .line .item").eq(i).addClass("active");
});
});
问题是我不知道如何使用 item 类来处理子元素。
currentLine.(".item").each(function(k)
这不起作用。
XML 过滤器应用于非 XML 值({0:#2=({})、length:1、prevObject:{length:3、prevObject:{0:#1=({})、context: #1#, 长度:1}, 上下文:#1#, 选择器:".pricetable .righttable .line:not(.blank)", 0:#2#, 1:({}), 2:({} )}, 上下文:#1#, 选择器:".pricetable .righttable .line:not(.blank).slice(0,1)"}) 文件:///C:/Users/xxx/lib/pricetable.js 112号线
编辑:
哇,我没想到我得到了如此好的和快速的回应!我想我会采用这个解决方案:
$(".pricetable .righttable .line:not(.blank)").each(function(j) {
$(this).children(".item").eq(i).addClass("active");
});
最佳答案
$(".pricetable .righttable .line:not(.blank)").each(function(j) {
var currentLine = $(".pricetable .righttable .line:not(.blank)").eq(j);
currentLine.find(".item").each(function(k) {
$(".pricetable .righttable .line .item").eq(i).addClass("active");
});
});
如果它们是 currentLine 的直接子级,您应该能够使用 children('.item')
代替 find('.item')
。这称为遍历 DOM。访问此页面 (http://api.jquery.com/category/traversing/) 并阅读其中一些函数的描述。如果您经常穿越,记住它们将非常有用:)
关于jQuery:如何使用特殊类来寻址子项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7347750/