如果连续超过3个td,则尝试隐藏最后一个td。有些东西不起作用
这是jquery代码
if (screen.width < 320) {
$(".slider-navigation-thumbs table tr").each(function(){
var tdsnumber = $(this).children().length;
if (tdsnumber > 3) {
$(this).child().last().hide();
}
});
}
其他信息 为了实验,删除了屏幕尺寸读取部分。没有它,工作正常。所以,我猜错了就在那里,但无法弄清楚错误是什么。尝试增加320到340,但仍然没有。
答案 0 :(得分:2)
没有child()
方法。您可能需要children()
。
答案 1 :(得分:1)
您正在使用.children().length
但之后您正在使用.child()
;这显然是错的。
那就是说,这里更简单:
$(".slider-navigation-thumbs table tr > td:gt(2):last").hide();
它选择<tr>
里面的索引高于2的子句(意味着第四个子项开始),然后选择该集合的最后一个元素;最后,它隐藏了结果元素。
如果只有三个子元素,它将返回一个空集,因此不会隐藏任何内容。
答案 2 :(得分:0)
您需要将.child()
替换为.find('td')
或.children()
:
if (screen.width < 320) {
$(".slider-navigation-thumbs table tr").each(function(){
var tdsnumber = $(this).children().length;
if (tdsnumber > 3) {
$(this).find('td').last().hide();
}
});
}
答案 3 :(得分:0)
没有.child()
方法,
if (screen.width < 320) {
$(".slider-navigation-thumbs table tr").filter(function(){
return $(this).children().length > 3
}).children('td:last-child').hide()
}