当我有一个由P标签或SPAN标签包围的元素时,为什么jQuery找不到next(),即使该元素确实有一个直接的兄弟?
<p>
<img src="" width="40" height="40"
onmouseover="alert('next() is ' + $(this).next().length)" />
<-- mouseover me
<div></div>
</p>
如果我将P标记更改为SPAN标记,则会出现同样的问题。如果我删除P标签或将其更改为几乎任何其他标签,它都可以正常工作。
JSFiddle:http://jsfiddle.net/YHTGT/
答案 0 :(得分:5)
div
不是p
节点中的有效节点,因此解析器可能完全忽略它。如果它有内容,我希望它在 {/ 1}}节点之后在DOM树中移动到,使其不成为{{的兄弟姐妹1}}。
将p
更改为img
works,因为此处允许div
。