javascript - 当面包屑出现在移动网站中时如何缩短它
问题描述
当我在移动设备上查看带有很多过滤器的网站时,面包屑长度变得太大。所以我想替换倒数第二个 li 后面的所有 li 标签。这意味着除了第一个、最后一个和最后一个 li 之外的所有 li 都需要用点替换。
任何人都可以用 jquery、javascript 或 css 帮我解决这个问题吗?
<ul class="left">
<li class="active"><a href="#">Airways</a></li>
<li><a href="#">Trauma</a></li>
<li><a href="#">Medical</a></li>
<li><a href="#">OB | Peds</a></li>
<li><a href="#">Patient Assessment</a></li>
<li><a href="#">Proprietary</a></li>
<li><a href="#">Trauma</a></li>
<li><a href="#">Medical</a></li>
<li><a href="#">OB | Peds</a></li>
<li><a href="#">Patient Assessment</a></li>
<li><a href="#">Proprietary</a></li>
</ul>
这只是我在此处添加的示例代码。
解决方案
你可以试试这样的jquery。基本上,如果它是一个较小宽度的设备,并且如果它不是第一个、最后一个或倒数第二个孩子,则链接标签的文本将替换为 '..' 。
<script>
$(document).ready(function () {
if (window.matchMedia("(max-width: 767px)").matches)
{
// The viewport is less than 768 pixels wide
console.log("This is a mobile device.");
$('ul.left li').each(function() {
$this = $(this); // cache $(this)
if (! $this.is(':first-child') && ! $this.is(':nth-last-child(2)') && ! $this.is(':last-child') ) {
$this.find('a').text("..");
}
});
}
});
</script>
推荐阅读
- sql-server - SQL Server:如何选择按 desc 排序的表中的最后 3 行,然后按 asc 排序?
- arrays - 需要帮助理解这个这个函数
- excel - VBA 宏不再使用 IE 保护模式
- ssl - KeyStore 密码和密钥密码的存储位置
- sql - SQL:在另一列中的两个连续“触发”值之后立即从行开始求和一列
- python-3.x - 如何让步进电机运转
- java - 如何为多个 osgi 服务使用单个配置文件
- python - ValueError:发现样本数量不一致的输入变量:[15996, 8]
- jquery - 如何自定义 jquery 步骤向导
- c# - 从 2019 年 3 月 18 日起禁止图形 API 返回 403