繁体   English   中英

ie和firefox中列表选择的不同行为?

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM