I am using the very elegant method from user Daniel described here to try and reveal my tikz-tree gradually. The brief idea is that the tree is always fully drawn to avoid "jumpy" nodes and make their coordinates available even if they are "invisible", but that the opacity is set to 0 on those nodes that are not supposed to be seen yet.
This is how my complete tree should look like after the reveal (I apologize in advance for the miserable quality of my phone's camera):

Here is my code:
\documentclass{beamer}
\usepackage{tikz}
\usepackage[utf8]{inputenc}
\usetikzlibrary{trees}
% Daniel's proposal for "uncovering" parts of a tikz-tree %
\tikzset{
invisible/.style={opacity=0},
visible on/.style={alt=#1{}{invisible}},
alt/.code args={<#1>#2#3}{%
\alt<#1>{\pgfkeysalso{#2}}{\pgfkeysalso{#3}} % \pgfkeysalso doesn't change the path
},
}
\begin{document}
\begin{frame}
\begin{tikzpicture}[
nor/.style={circle,thick,solid,draw=black,fill=none,inner sep=0.5mm, minimum size=5mm},
acc/.style={circle,thick,solid,draw=green!50!black,fill=green!20,inner sep=0.5mm, minimum size=5mm},
rej/.style={circle,thick,solid,draw=red!50,fill=red!20,inner sep=0.5mm, minimum size=5mm},
level 1/.style={every child/.style={edge from parent/.style={dashed,draw,nearly opaque}} },
level 2/.style={sibling distance=19mm,every child/.style={edge from parent/.style={solid,draw}}},
level 3/.style={sibling distance=8mm,every child/.style={edge from parent/.style={dashed,draw,nearly opaque}} },
semithick]
\node[draw=none] (root) {}
child[level distance=12mm,visible on=<1->] { node[nor] {$x$}
child[visible on=<2->] {node[acc] {$e_1(x)$} }
child[visible on=<2->] {node[nor] {$e_2(x)$}
child[visible on=<6->] child[visible on=<6->] }
child[visible on=<2->] {node[rej] {$e_3(x)$} }
child[visible on=<2->] {node[nor] {$e_4(x)$}
child[visible on=<6->] child[visible on=<6->] child[visible on=<6->] }
};
\end{tikzpicture}
\end{frame}
\end{document}
The 4 sibling nodes on level 2 are correctly hidden, including their solid edges to/from the (x) node. As expected, they show up in the second slide and then stay visible.
But the dashed edges at the bottom of the tree are shown since the very first slide - even though the leaf nodes are set to be visible from slide 6 onwards.
Why is this happening? This way of doing things was accepted as an answer and received a lot of praise in the original question, so it certainly works. It's just partially working for me, since I seem to have a wrong understanding of how child inherits its style to all of the nodes underneath it... or perhaps it's a problem of the levels being styled manually as well (even though this doesn't seem to affect level 2).
Ideas on how to fix this?


nodeas well as the correspondingedge from parentare drawn with the options of thechildif they are not overriden? This seems sensible, and quite flexible as well... And the problem with my code was that I was styling theedge from parentfor level 3 globally, so that I was "overriding" thevisible onoption from the children on level 3, and thus seeing these edges starting from the first slide? – MaxAxeHax Jun 04 '13 at 22:55nearly opaqueoption.visible onworks fixingopacity=0as starting style, but you overwrite it withnearly opaque. And my code works because I overwrites again withnearly opaque, visible on=<2->. Just change it tovisible on=<2->, nearly opaqueand it will fail again. I was lucky! – Ignasi Jun 06 '13 at 08:47opacity=0for the edges becausenearly opaqueis an opacity option. Still, your answer works, and the trick is to always write thevisible on=<?>at last, so that it makes everything invisble when it should, and doesn't affect it otherwise. – MaxAxeHax Jun 08 '13 at 10:51\textbf<1,5-6>{text}but with[visible on=<1,5-6>]. – Ernesto Mar 29 '22 at 22:09,inside list of visible slides. But I also don't understand your question relatingtextbfandvisible on. I think it's better that you open a new question explainig what's the problem and asking for a solution. You will get more visibility and more possibilities of a correct answer. In any case, I'm glad that this answer has been useful for you, – Ignasi Mar 30 '22 at 07:39textbfallows for the comma whereasvisible ondoesn't, as it stands. – Ernesto Mar 31 '22 at 16:01