刚从培训出来,进入一家公司实习,做项目时候遇到不少问题,下面就写下来自己当作笔记了
工作时候老大要求我给一个表格中的一列加上鼠标悬停显示文字,我心想这玩意太简单了,做的时候才发现是我自己想的太简单了,首先这个表格不是画在jsp里的,而是用公司提供的框架在js文件中使用函数动态生成的,so,这个表格没有id,也没法在jsp页面进行操作,需要在单独js文件中对其操作,后来就用了jquery中的层次选择器进行抓取需要操作的这一列:
$("#weekCollectDiv table:eq(2) tbody tr td")
//table:eq(2)是指这个div下的第二个table
但是又发现一个问题,就是抓取不到这列,用.html()输出发现这东西抓取的是个null,从页面上看表格生成了,但是后台接收的数据以及表格内容没填充进去呢,问了一下公司同事,他说这是因为页面数据没有生成,肯定取不到东西的,用定时器执行判断试试,每过一秒执行一次判断,判断页面是否生成,生成之后再执行代码就可以了
部分js代码
$(function() {
//执行定时器,设定时间为每1秒执行一次
var time=setInterval(timer, 1000);
});
function timer(){
//每1秒判断一次条件
if($("#rightDiv table tbody").find("tr")!=null){
$("#rightDiv table tbody tr td:eq(5)").each(function(){
});
//关闭
clearInterval(time);
}