当我有P标记或SPAN标记包围的元素时,为什么jQuery无法找到next(),即使元素确实有直接的兄弟?为什么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/
备注:我正在使用jQuery 1.7.1 –
您应该为问题的好处定义“失败”。 –
因为'p'元素不能包含'div'元素。查看生成的DOM结构。浏览器在'p'之后移动'div'。 –