我有HTML
:
<div class="field select">
<div class="FormToolTipContainer">
<h2>Details</h2>
<div class="FormToolTip">?
</div>
</div>
</div>
<div class="FormToolTipText"><strong>Tool tip:</strong> Add details here</div>
然后我有了这个:
$(function () {
$(".FormToolTip").hover(function () {
var ToolTipDiv = $(this).closest('.FormToolTipText');
ToolTipDiv.toggle();
var ToolTipOffset = $('.FormToolTip').offset();
ToolTipOffset.top = ToolTipOffset.top + 40;
ToolTipDiv.css(ToolTipOffset);
}, function () {
var ToolTipDiv = $(this).find(':first-child');
ToolTipDiv.toggle();
});
});
我尝试使用FormToolTipText
上的closest
选择器找到元素this
,但它不起作用。
我也试过next
,但这不起作用。
是因为元素FormToolTipText
在FormToolTip
据我所知,我在这里遵循了这些说明: https://api.jquery.com/next/ https://api.jquery.com/closest/
和许多SO问题,但没有一个会选择我尝试过的元素。
正如我所说的,我已经尝试了我能想到的每一个变化,以及我能找到的所有变化,但没有一个变得有效。
基本上我正在尝试制作工具提示,需要导航到距离FormToolTipText
类最近的div,但只能与this
有什么想法吗?
答案 0 :(得分:1)
column1
不是.FormToolTipText
的父级。所以你根本得不到它。您需要做的是,使用.FormToolTip
获取父级并使用.closest()
遍历.next()
:
.FormToolTipText
答案 1 :(得分:1)
$('td').filter(":contains('Checked')").parent().addClass('sugar')
只查看父元素,而你需要上升两个级别然后找到下一个元素。
另请注意,您对closest()
的使用也不正确 - 您需要指定要修改的CSS属性。试试这个:
css()