ie 和 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>
当我尝试执行
jQuery('a').parent().parent().html(); 时,我有一个像这样的无序列表,其中包含 1 级和 2 级项目;
它的行为ie 中的情况有所不同。在 IE 中,它将下面的 ul 作为其子级,但在 Mozilla 中则不是。可能是什么原因以及解决办法。
<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>
I have a unordered list like this with level 1 and level 2 items when i am trying to do a
jQuery('a').parent().parent().html();
it is behaving differently in ie. In IE it is taking ul below it as its child but in mozilla it isnt. What can be the cause and solution to it.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
我已经在 IE 和 IE 中进行了测试Firefox,并且在两者中都采用相同的` +Item 1
另外,您还错过了第一个父级的括号,我已经像这样进行了测试
,结果我在两个浏览器中都有这个
这里是 jsfiddle http://jsfiddle.net/sUxyt/1/
为什么第 1 项?因为 jQuery('a') 返回数组给你,并且jQuery('a') 意味着
jQuery('a').eq(0)
如果你想进入下一行,你必须写这样的东西
在这种情况下,你必须在我的例子中得到这个jsfiddle
编辑:
我根据需要更改 Javascript 部分,就像这样 是
的,IE 7 和 IE 7 之间存在差异。其他浏览器。所有需要将您的 html 从此更改
为
该行为的原因是 IE 7 无法识别 li 的结束标记,并将 li 的innerHTML 放大一点。
将 li 添加到第二部分解决问题:)
I've tested in IE & Firefox, and in both it take same` +Item 1
Also you have missed brackets with first parent,I've tested like this for example
And in result I have this in both browsers
Here is jsfiddle http://jsfiddle.net/sUxyt/1/
Why Item 1?Because jQuery('a') returns array to you, and jQuery('a') means
jQuery('a').eq(0)
If you want to take next line you must write something kind of this
In this situation you must get this in example of my jsfiddle
EDIT:
I change Javascript part as you want,like this
And yeah, there is a difference in IE 7 & other browsers. All is need to change your html from this
to
The reason of that behavior is that IE 7 doesn't recognize the end tag of your li, and take the innerHTML of your li little bit larger.
Adding li to second part solve the problem:)