理解jQuery中的DOM层次结构

jch*_*dev 4 jquery dom

我经常遇到奇怪的事情,我不了解jQuery和DOM ID和选择器.通常我只是在他们周围工作,但我真的想一劳永逸地解决这个问题.考虑以下标记:

<div id="accordionWrapper"><p><a class="expandall" href="#">Test</a></p></div>
Run Code Online (Sandbox Code Playgroud)

我有一个jQuery点击功能<a>:

//works fine
jQuery('a.expandall').click(function() {...whatever...});
Run Code Online (Sandbox Code Playgroud)

但以下不是:

//fails
jQuery('#accordionWrapper p a.expandall').click(function() {...whatever...});
Run Code Online (Sandbox Code Playgroud)

...我没有得到.这是我不了解CSS或jQuery还是......?

voi*_*hos 5

实际上,你的理解完全没有错.这是一个JsBin(JsFiddle似乎已经失效),它显示了你的确切标记,以及你确切的jQuery代码,都可以正常工作.

http://jsbin.com/inuqez/4/edit

所以,如果你遇到了你给的第二个jQuery选择器的问题,它必须是别的东西.如果您向我们提供更多详细信息,我们可能会提供帮助.否则,只需仔细查看您的代码并确保没有任何明显错误,例如具有相同ID的多个元素(如@Frederic所述).