Jquery 如何滚动到第一个td空
我在这方面运气不好,我甚至无法在第一个空td单元中添加一个类,以便让它滚动 我在这儿闲逛 我需要向第一个空td单元添加一个类,然后我希望在pageload上让div滚动到该空单元 但我连第一步都做不到Jquery 如何滚动到第一个td空,jquery,Jquery,我在这方面运气不好,我甚至无法在第一个空td单元中添加一个类,以便让它滚动 我在这儿闲逛 我需要向第一个空td单元添加一个类,然后我希望在pageload上让div滚动到该空单元 但我连第一步都做不到 $( "td:empty" ).addClass( "scrollhere" ); 还有这个 if ($('td').text().trim() == ""){ $(this).addClass('scrollhere'); } if ((td.children().length == 0
$( "td:empty" ).addClass( "scrollhere" );
还有这个
if ($('td').text().trim() == ""){
$(this).addClass('scrollhere');
}
if ((td.children().length == 0) && td.text().trim() == ""){
$(this).addClass('scrollhere');
}
还有这个
if ($('td').text().trim() == ""){
$(this).addClass('scrollhere');
}
if ((td.children().length == 0) && td.text().trim() == ""){
$(this).addClass('scrollhere');
}
td信息是动态添加的,并在我复制源html时显示,有一个html空间被添加到空td的“这应该设置焦点
$('table:td:empty:eq(0)').focus();
这应该是一个很好的例子
$('table:td:empty:eq(0)').attr('class','className');
您的TD不是空的;它们包含
您需要添加
$(document).ready(function () {
$("td:empty").addClass("scrollhere");
$('html, body').animate({
scrollTop: $(".scrollhere").offset().top
}, 2*1000); // <-- in miliseconds (2 seconds, update if you want to scroll faster)
});
见演示
更新2
如果只想更新第一个空的TD
,请使用如下标志:
$(document).ready(function () {
var foundOne = false;
$('td').each(function (i, elem) {
if ($(elem).html().trim() === ' ' && !foundOne) {
$(elem).addClass("scrollhere");
foundOne = true;
return;
}
});
$('html, body').animate({
scrollTop: $(".scrollhere:first()").offset().top
}, 2000);
});
更新的演示:
正如我19所说的,您的TD中没有一个是空的。您在每个TD ceil中都有。 尝试删除它,jquery addClass函数将正常工作。 之后,添加带有scrollTop参数的jquery动画方法调用
$('html, body').animate({
scrollTop: $(".scrollhere").offset().top
}, 2000);
编辑:
尝试使用以下代码删除nbsp:
$("td").each(function() {
var $this = $(this);
$this.html($this.html().replace(/ /g, ''));});
删除nbsp后,请尝试使用“上一个”滚动
请记住,这将从所有TD元素中删除您可以使用.filter()
和.text()
(不会返回
字符)来应用您的类:
$("td")
.filter(function() {
return ($(this).text() === '');
})
.addClass("scrollhere");
(使用)您的
中没有一个是空的。$(此)
不是指每个td
吗?这并没有将类应用于每个元素。Robbie太激动了。不幸的是,我无法控制将生成的html更改为此报表,我不知道为什么要添加html空间,所以我需要查找第一个空td或第一个只带html空间的td如果
字符是故意的怎么办?是的,你是完全正确的,我在回复中所说的将从TD CEIL中删除所有Robbie Averill解决方案。这是最好的解决方案,我想只有第一个?在调用.addClass()
之前添加.eq(0)
。或者,您只能将该类添加到筛选器中的第一个匹配项,如更新的fiddle:ochi,我添加了一些HTML以匹配现有站点,并应用了您的解决方案。我的容器设置为固定高度,并将溢出设置为滚动,现在您的解决方案将不会自动滚动到div中的td-您可以进一步帮助吗?这应该是另一个单独的问题。我现在没有太多的时间,但这里有一个快速修复-这是一个有点黑客,但它可能会为你暂时工作。如果你再补充一个问题,让我知道,这样我可以在今天晚些时候有更多时间的时候花更多的时间在上面