3

当我的元素被 P 标记或 SPAN 标记包围时,为什么 jQuery 找不到 next(),即使该元素确实有直接兄弟?

<p>
 <img src="" width="40" height="40"
  onmouseover="alert('next() is ' + $(this).next().length)" />
  &lt;-- mouseover me
 <div></div>
</p>​

如果我将 P 标签更改为 SPAN 标签,则会出现同样的问题。如果我删除 P 标签或将其更改为几乎任何其他标签,它工作正常。

JSFiddle:http: //jsfiddle.net/YHTGT/

4

1 回答 1

5

div不是节点中的有效节点p,因此解析器可能会完全忽略它。如果它有内容,我希望它在 DOM 树中移动到节点之后p使其不是.img

将其更改divspan 有效,因为span那里是允许的。

于 2012-11-10T20:37:19.407 回答