jQuery最近用法

jQuery最近用法,jquery,Jquery,我们有: <div class="companylinks"> <span class="current"> <a class="welcome">Welcome!</a> </span> <span> <a class="ic_generalinfo">General Info</a> </span> </div> 但我正在变

我们有:

<div class="companylinks">
   <span class="current">
      <a class="welcome">Welcome!</a>
   </span>
   <span>
      <a class="ic_generalinfo">General Info</a>
   </span>
</div>
但我正在变得“未定义”,我应该如何定义它呢

我将感谢任何帮助。 谢谢

只在DOM中向上遍历,而不是向下遍历。您可能需要使用类似于
子类的内容

代码中还有其他错误;您当前正在访问
#companylinks
,它应该是
.companylinks
,因为这是一个类名而不是ID。除此之外,您的
span[class=“current”]
可以写为
span.current
,尽管这不是一个错误。

.closest()
函数获取最接近的父对象而不是最接近的子对象。要获得您想要的,只需执行以下操作:

$('a.welcome')
或者,如果您需要更具体的信息:

$('.current a.welcome')
阅读

对于集合中的每个元素,获取与 通过测试元素本身并向上遍历其 DOM树中的祖先

写下这个

$('.companylinks span.current').find('a').attr('class');

嘿,伙计,如果你只想要锚元素,你可以这样做:

$(document).ready( function() {
var selected_tab = $('.companylinks .current').find('a').attr('class');
alert(selected_tab);
});
$(".current a").attr("class");
.closest()
沿父链向上,而不是沿父链向下

要指定选择器中必须满足所有条件的多个父级,只需在选择器中以空格分隔分别列出它们。在这种情况下,您可以将.current中的
标记作为目标,然后按如下方式获取其类:

$(document).ready( function() {
var selected_tab = $('.companylinks .current').find('a').attr('class');
alert(selected_tab);
});
$(".current a").attr("class");
或者,如果您想将其范围仅限于
.companylinks
的内部,则可以使用此选项

$(".companylinks .current a").attr("class");

注意:您不需要使用
span[class=“.current”]
。您可以使用
.current

span
中是否只有一个
a
?@JanHančič是的,只有一个请先阅读手册,然后再发布问题:当您可以将
a
放在选择器中时,为什么要在这里使用
.find()