我正在尝试这样做:
$(".expand")[0].children[0].addClass("test");
它不起作用。
这个
$(".expand").get(0).children[0];
返回:
<i class="fa fa-chevron-circle-down">::before</i>
我想改变它的课程。怎么做?
由于
答案 0 :(得分:1)
根据选择器看起来你试图在第一个元素中使用class expand将第一个子元素添加到第一个子元素。你可以使用:
$(".expand:first > *:first").addClass("test");
答案 1 :(得分:1)
为什么你的尝试不起作用:
.addClass()
方法。所以这会导致错误。.get(0)
,它也为你提供了dom节点而不是jquery对象。这样也会导致错误。 解决方案:
$(".expand:eq(0) > *:eq(0)").addClass("newClass");
这一行会让你获得类expand
的第一个元素,它会找到第一个子元素,然后它会应用一个新类。
虽然你也可以用普通的js做到这一点:
var parent = document.getElementsByClassName('expand')[0];
parent.children[0].className = "newClass";
答案 2 :(得分:0)
查看您的问题,您正在尝试将类添加到类expand的第一个元素中。为什么不使用:用于此目的的第一个子选择器 $(&#34; .expand&#34; tag:first-child)