我想在div“myDiv”中包含的“a”元素中使用以下函数。
这是我到目前为止使用的代码:
$$('a[class="active"]').each(function(element) {
element.removeClassName("active");
});
答案 0 :(得分:2)
你可以这两种方式:
1)查找myDiv
,然后使用Element#select
:
$('myDiv').select('a[class="active"]').each(...);
或
2)使用带有$$
的后代选择器的ID选择器:
$$('#myDiv a[class="active"]).each(...);
如果您只想要直接孩子(不是后代),您可以使用子选择器(请注意>
):
$$('#myDiv > a[class="active"]).each(...);
偏离主题#1:在选择器中编写a[class="active"]
的常用方法是a.active
,例如“$('myDiv').select('a.active').each(...);
”。
偏离主题#2:您还可以查看invoke
函数,该函数用于在Enumerable对象中的每个项目上调用相同的函数(例如,“$('myDiv').select('a[class="active"]').invoke('removeClassName', 'active');
”)。 invoke
很好,简短,富有表现力,但它比你自己做的要慢。 (但是,只有当你遇到成千上万的元素时才会这么做。)