Javascript FInd.closest()失败

Javascript FInd.closest()失败,javascript,html,jquery,Javascript,Html,Jquery,我很难理解为什么这样的事情不起作用。 我已经阅读了相关文件,没有发现错误 代码应该查找链接并突出显示最近的按钮 结构简单: $('meni')。查找('a')。每个(函数(){ console.log(this); $(this.closest(“button”).css(“color”,“red!important”); }); 按钮 链接1 链接2 链接3 最近的(jQUery和DOM)只查看祖先元素。它不查看同级元素、父级的同级元素等 在您的示例中,a元素的祖先是body>div>di

我很难理解为什么这样的事情不起作用。 我已经阅读了相关文件,没有发现错误

代码应该查找链接并突出显示最近的按钮

结构简单:

$('meni')。查找('a')。每个(函数(){
console.log(this);
$(this.closest(“button”).css(“color”,“red!important”);
});

按钮
链接1
链接2
链接3
最近的
(jQUery和DOM)只查看祖先元素。它不查看同级元素、父级的同级元素等

在您的示例中,
a
元素的祖先是
body>div>div>a
,而
按钮不在该祖先中

要从这些
a
元素中的一个开始查找该结构中的按钮,您可以使用
最近的
来查找外部封装的
div
(可能给它一个类来简化),然后在该封装的
div
上查找该按钮:

$('.example')。查找('a')。每个(函数(){
常量btn=$(this).closest(.example”).find(“按钮”);
console.log(btn.text());
});

按钮1
链接1
链接2
链接3
按钮2
链接1
链接2
链接3
检查此项

$('meni')。查找('a')。每个(函数(){
$(this.parent('div')。同胞(“按钮”).css(“颜色”,“红色”);
});

按钮
链接1
链接2
链接3

它以什么方式“不起作用”?未能突出显示,未能匹配?还有别的吗?检查祖先,而不是兄弟姐妹。@MikeBrockington从代码片段中查看需要执行的操作实在太简单了。说真的…这解释得很好,谢谢。现在我看到了明显的错误。是的,我有一个从原始HTML标记中下拉的类,它要大得多,添加了$(这个)。最近的(“.w3下拉悬停”)。查找(“按钮”)。css到我的原始代码解决了这个问题。读得好。非常感谢。