[英]Different behavior of list selection in ie and firefox?
<ul id='reorderps'>
<li><span><a href=''>+</a>Item 1</span></li>
<ul>
<li><span><a href=''>+</a>Sub Item 1</span></li>
</ul>
</ul>
当我尝试执行以下操作时,我有一个像这样的无序列表,其中包含第1级和第2级项目
jQuery('a').parent().parent().html();
即在行为上有所不同。 在IE中,它以ul以下为子级,但在mozilla中则不是。 可能是什么原因和解决方案。
我已经在IE和Firefox中进行了测试,两者都使用相同的+项目1
您也错过了与第一亲的括号,例如,我已经测试过了
$("#reorderps").append(jQuery('a').parent().parent().html());
结果我在两个浏览器中都有这个
+Item 1
+Sub Item 1
+Item 1
这是jsfiddle http://jsfiddle.net/sUxyt/1/
为什么选择第1条?因为jQuery('a')返回数组给你,而jQuery('a')意味着jQuery('a').eq(0)
如果您想采用下一行,则必须写一些这样的内容
$("#reorderps").append(jQuery('a').eq(1).parent().parent().html());
在这种情况下,您必须以我的jsfiddle示例为例
+Item 1
+Sub Item 1
+Sub Item 1
编辑:
我可以根据需要更改Javascript部分
jQuery('ul#reorderps a').click(function(e){ alert(jQuery(this).parent().parent().html()); e.preventDefault(); });
是的,IE 7和其他浏览器有所不同。 所有需要从这里更改您的html
<ul id='reorderps'>
<li><span><a href=''>+</a>Item 1</span></li>
<ul>
<li><span><a href=''>+</a>Sub Item 1</span></li>
</ul>
</ul>
至
<ul id='reorderps'>
<li><span><a href=''>+</a>Item 1</span></li>
<li>
<ul>
<li><span><a href=''>+</a>Sub Item 1</span></li>
</ul>
</li>
</ul>
该行为的原因是IE 7无法识别li的结束标记,而将li的innerHTML增大了一点。 在第二部分添加li可解决问题:)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.