Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/87.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/elixir/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
查找具有给定类JQuery的最近元素_Jquery - Fatal编程技术网

查找具有给定类JQuery的最近元素

查找具有给定类JQuery的最近元素,jquery,Jquery,我有这个HTML: <div class="field select"> <div class="FormToolTipContainer"> <h2>Details</h2> <div class="FormToolTip">&#63; </div> <

我有这个
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>
在这里,我试图通过使用
上的
最近的
选择器来查找元素
FormToolTipText
,但它不起作用

我也尝试了
next
,但没有成功

是否因为元素
FormToolTip
FormToolTip

据我所知,我在这里遵循了以下说明:

还有很多问题,但没有一个会选择我尝试过的元素

正如我所说的,我已经尝试了我能想到的每一种变化,我能找到的每一种,但都不起作用

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


有什么想法吗?

.FormToolTipText
不是
.formtooltipt
的父项。所以你根本无法得到它。您需要做的是,使用
.closest()
获取父对象并使用
.next()
遍历到
。FormToolTipText

var ToolTipDiv = $(this).closest('.field').next('.FormToolTipText');

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

var ToolTipDiv = $(this).closest('.field').next('.FormToolTipText');
closest()
只查看父元素,而您需要向上两级查找下一个元素

还要注意,您使用的
css()
也不正确-您需要指定要修改的css属性。试试这个:

$(".FormToolTip").hover(function() {
    var $tooltipDiv = $(this).closest('.field').next('.FormToolTipText').toggle();
    var toolipOffset = $(this).offset();
    $tooltipDiv.css('top', toolipOffset.top + 40); // this is a guess, amend as needed
}, function() {
    var $tooltipDiv = $(this).find(':first-child');
    $tooltipDiv.toggle();
});
closest()
只查看父元素,而您需要向上两级查找下一个元素

还要注意,您使用的
css()
也不正确-您需要指定要修改的css属性。试试这个:

$(".FormToolTip").hover(function() {
    var $tooltipDiv = $(this).closest('.field').next('.FormToolTipText').toggle();
    var toolipOffset = $(this).offset();
    $tooltipDiv.css('top', toolipOffset.top + 40); // this is a guess, amend as needed
}, function() {
    var $tooltipDiv = $(this).find(':first-child');
    $tooltipDiv.toggle();
});

谢谢你的回答。注意,您可以传入整个偏移量,也可以传入单个坐标。请看这里被接受的答案:真的。执行此操作时请小心,因为尽管对象属性名称匹配,但由于相对于父元素和窗口的位置不同,它们可能并不总是预期的值谢谢您的回答。注意,您可以传入整个偏移量,也可以传入单个坐标。请看这里被接受的答案:真的。执行此操作时请小心,因为尽管对象属性名称匹配,但由于相对于父元素和窗口的位置不同,它们可能并不总是预期的值