我有一个字典列表,我想访问第二个子元素而不知道它是什么元素。例如:
<dl>
<dd>
<div></div>
<div></div> (select this item - however can be any html element)
</dd>
<dd>
<div></div>
<div></div> (select this item - however can be any html element)
</dd>
<dd>
<div></div>
<div></div> (select this item - however can be any html element)
</dd>
</dl>
我试过......
$('dd').each(function() {
$(this + ':nth-child(2)').addClass('hover');
}
我尝试使用一系列不同的数字0-2试图找到该元素。 0将该类放在所有第一个子html标记中。例如:
<html class="hover">
<body class="hover">
<div class="hover">
......等不是我想要的顺便说一句。让我相信$(this)实际上是针对窗口而不是我个人的dd元素。
无论如何,如果有人可以发光,我会非常感激。感谢。
答案 0 :(得分:3)
问题只是你的语法。尝试:
$('dd').each(function() {
$(':nth-child(2)', this).addClass('hover');
}
答案 1 :(得分:1)
不需要.each()
调用 - 大多数jQuery函数都可以在元素列表中愉快地工作。
只需匹配作为其父级的第二个孩子的.children()
的所有<dd>
,并添加所需的类:
$('dd').children(':nth-child(2)').addClass('hover');
http://jsfiddle.net/alnitak/TETbE/
的工作演示或(感谢@ChrisPratt)您可以组合选择器:
$('dd > :nth-child(2)').addClass('hover');