所以,我有以下jQuery代码:
$(function() {
var lastElement = false;
$("ul li").each(function() {
if (!lastElement || lastElement.offset().top == $(this).offset().top) {
// add slash
$(lastElement).after(' /');
}
lastElement = $(this);
})
});
基本上,它将在每个li元素之后添加斜杠,但如果li是该行的最后一个,则不会添加斜杠。我尝试使用相同的函数来调整大小,但是当窗口调整大小时,它会添加几个斜杠而不删除另一个。
这里是小提琴:http://jsfiddle.net/W2ULx/23/
任何想法?谢谢…
不直接改变内容
你可以尝试控制类
例如:$(lastElement).addClass('hasSlash');
http://jsfiddle.net/W2ULx/25/除了Ian Wang的回答(并参考您的评论):
当然,你可以使用纯CSS来完成这项工作:
li:not(:last-of-type):after{
content:" / ";
}
问题(?)是您必须使用媒体查询手动删除不需要的斜杠:
@media screen and (max-width:500px) {
li:nth-of-type(3n):after {
content:"";
}
}
我不确定使用JavaScript还是CSS更好。我想我更喜欢CSS的解决方案