使用给定的类JQuery查找最接近的元素

时间:2016-10-04 15:16:09

标签: jquery

我有HTML

<div class="field select">
    <div class="FormToolTipContainer">
        <h2>Details</h2>
        <div class="FormToolTip">&#63;                                                
        </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,但这不起作用。

是因为元素FormToolTipTextFormToolTip

之外

据我所知,我在这里遵循了这些说明: https://api.jquery.com/next/ https://api.jquery.com/closest/

和许多SO问题,但没有一个会选择我尝试过的元素。

正如我所说的,我已经尝试了我能想到的每一个变化,以及我能找到的所有变化,但没有一个变得有效。

基本上我正在尝试制作工具提示,需要导航到距离FormToolTipText类最近的div,但只能与this

相关联

有什么想法吗?

2 个答案:

答案 0 :(得分:1)

column1不是.FormToolTipText的父级。所以你根本得不到它。您需要做的是,使用.FormToolTip获取父级并使用.closest()遍历.next()

.FormToolTipText

答案 1 :(得分:1)

$('td').filter(":contains('Checked')").parent().addClass('sugar') 只查看父元素,而你需要上升两个级别然后找到下一个元素。

另请注意,您对closest()的使用也不正确 - 您需要指定要修改的CSS属性。试试这个:

css()