我正在把这头发撕掉 - 这让我很生气,因为它应该很简单。
在我的网站中,我使用:last-child
从Twitter Feed的最后一个元素中删除border-bottom
:
ul#twitter li:last-child {
border: none;
}
这在Firefox / Chrome中运行良好,但不支持最后一个孩子的IE8。所以,我转向jQUery并把它放在我的<head>
<!--[if IE 8]>
<script type="text/javascript">
$(document).ready(function(){
$('ul#twitter li:last-child').css('border','none !important');
});
</script>
<![endif]-->
这没效果?我已经尝试使用外部文件,使其不是IE8特定的,有和没有文件准备...我也尝试在Firebug中测试选择器,以确保我的jQuery是正确的,这一切都有效?有什么想法吗?
感谢您的帮助
答案 0 :(得分:2)
您的代码很好,问题发生的原因是您在页面底部包含了jQuery
库,但是您在顶部运行了IE8脚本。
jQuery尚未加载,因此您的脚本失败(并引发错误, '$' is undefined
)
在包含jQuery之后移动代码,你应该设置它。
答案 1 :(得分:1)
尝试使用:last
代替:last-child
:
$('ul#twitter li:last').css(...)
作为参考,:last-child
查找集合中的最后一个子元素 - 因此在您的情况下,将查找li
中ul#twitter
元素内的最后一个子元素。
:last
只查找集合中的最后一个元素,因此您可以匹配li
中的最后一个ul#twitter
。
答案 2 :(得分:0)
也许最好使用
$('ul#twitter li').last();
或
$('ul#twitter li:last');
作为你的选择者