JQuery insertAfter();移动下一个表格单元格
JQuery insertAfter(); move the next table cell
我有一个表格设置,当我将鼠标悬停在表格单元格上时,我希望在单元格旁边显示一个信息框,我使用Jquery insertAfter();但问题是,他不应该移动下一个单元格,因为我的信息框是绝对位置。
Fiddle:链接
HTML
<table cellspacing="0" cellpadding="0">
<tr>
<td>test</td>
<td>test</td>
<td>test</td>
<td>test</td>
<td>test</td>
<td>test</td>
<td>test</td>
<td>test</td>
<td>test</td>
</tr>
<tr>
<td>test</td>
<td>test</td>
<td>test</td>
<td>test</td>
<td>test</td>
<td>test</td>
<td>test</td>
<td>test</td>
<td>test</td>
</tr>
CSS
table {
width: 100%;
}
table tr td {
padding: 3px;
border: 1px solid #000;
}
div#hover_info_box {
border: 1px solid #000;
padding: 10px;
position: absolute;
background-color: transparent;
z-index: 20;
display: none;
}
Javascript/Jquery
$("table tr td").mouseover(function(){
$('#hover_info_box').show().html("<p>content</p>").insertAfter(this);
});
$("table tr td").mouseout(function(){
$('#hover_info_box').hide();
});
insertAfter
会破坏标记,因为<div>
不能直接插入到<td>
标记之后。
您可以使用appendTo
,并修复CSS以在单元格右侧显示信息框。
演示:http://jsfiddle.net/c9DKZ/4/
看看这个调整过的小提琴
也就是说,将jQuery更改为:
$("table tr td").mouseover(function(){
var td=$(this);
$('#hover_info_box').show().html("<p>content</p>").css({left:td.position().left + td.outerWidth()+'px', top:td.position().top});
});
$("table tbody tr td").mouseout(function(){
$('#hover_info_box').hide();
});
通过使用insert在中断文档流(导致无效的HTML和您注意到的视觉效果一样多)后,您所需要做的就是正确设置信息框相对于当前悬停单元格的位置。
尝试:
$("table tr td").mouseover(function(){
$('#hover_info_box').show().html("<p>content</p>").appendTo($(this).next());
});
$("table tr td").mouseout(function(){
$('#hover_info_box').hide();
});
此处更新了fiddle
相关文章:
- 滚动到容器中的下一个元素-几乎到了
- 后焦点更改为IE 11中的地址栏,而不是转移到表单中的下一个控件
- 使用CSS或js,使用动态选择器选择任意li的下一个元素
- 使用ajax将数据从一个步骤发送到下一个步骤的3步表单
- AngularJS&JSON-从Previous&下一个对象
- 使用向下箭头键(与tab键一样)聚焦下一个输入
- 来自文档或下一个静态父级的事件委派
- angularjs移除焦点上的活动类并添加到下一个项目
- 禁用旋转木马中的下一个按钮和上一个按钮
- 当按下一个键时,请多次按下不同的键
- 正在加载下一个帖子
- 构建JS测试,警报窗口重复上一个Q,而不是问下一个Q
- 删除“;上一个“;以及“;下一个“;基于当前幻灯片
- 真正的下一个具有特定类的元素
- 如何使用javascript获取下一个/转发url
- jQuery转盘下一个元素没有滑入
- 简单的垂直上一个和下一个按钮代码点击上下移动jQuery
- JQuery insertAfter();移动下一个表格单元格
- jQuery:垂直获取下一个表格单元格
- 将输入字段的值复制到下一个表格单元格中相应的输入字段