IE8 / IE7 / IE6似乎将通过JQuery插入的锚标记视为块级元素
IE8/IE7/IE6 seem to treat anchor tag inserted via JQuery as a block level element
我正在使用CSS将段落内的small
元素绝对定位到所述段落的一侧。那里没有问题。
然后,我希望使用 javascript 在 small
元素之前插入一个链接的上标数字。
基本上,更改此设置:
<p>
<small> ... </small>
</p>
对此:
<p>
<sup>
<a href="#article1_note1">1</a>
</sup>
<small class="note" id="article1_note1"> ... </small>
</p>
这是布局在 IE8 或更早版本中中断的地方。(据我所知,IE9也可能中断,但我只有XP盒可用于测试。
消除过程表明,a
标签是最终的罪魁祸首。这些浏览器似乎将其视为块级元素。在样式规则中添加display: inline
似乎并不能解决这个问题。
奇怪的是,如果我获取生成的源代码并将其保存为静态HTML文档,它会在相同的浏览器中显示得很好。
据我所知,问题是由锚标签通过 JS/JQuery 动态插入引起的。
这是我创建的jsFiddle测试页面:
http://jsfiddle.net/D6SMH/show/
下面是一个删除脚本并将 HTML 替换为后者生成的 HTML 的版本:
http://jsfiddle.net/VJT2N/show/
两者都在Firefox,Chrome和Safari中显示相同。只有后者的硬编码版本才能在 IE 违规者中正确显示。
你需要在jQuery中正确关闭你的html标签。
notes.eq(j).before('<sup><a href="#' + noteid + '">' + (j+1) + '</a></sup>');
http://jsfiddle.net/D6SMH/2/
这可能是因为您的 CSS 声明垂直对齐:super;为了处理此请求,它可能会将您的标签转换为块元素。您可能希望在条件样式表中查看另一种解决方法(负边距顶部等(。
相关文章:
- 可以't附加html元素jquery
- 循环遍历元素jquery选择器
- 在ajax加载的元素jquery上包含现有的jquery函数
- 如何删除元素列表中的类并添加到另一个元素 Jquery.
- 获取单击的类元素 jQuery 的名称值
- 获取上一个元素 jQuery 的内容
- 根据另一个元素的更改获取一个元素(jquery)
- 区分不同的可拖放元素(jQuery 拖放)
- 除了最后一个<td>元素-Jquery
- 获取子元素jQuery的单选按钮值
- 捕获元素jquery外部的mousedown事件
- .append到非DOM元素jQuery
- 获取其父元素的精确子元素.Jquery
- 获取重复结构中的特定元素jquery
- 捕获隐藏输入元素jQuery的值
- 使用onclick函数获取点击的元素jquery
- 返回父元素 jquery 中的输入值
- 按属性查找元素 jQuery
- 选择元素 jQuery
- 按子元素 - jQuery 的数据 ID 对 li 进行排序