javascript - 使用 Javascript chop 所有字符串

标签 javascript html css

下面的代码旨在检查给定 html 元素的字符串长度。

<span class="subject">subject abcd</span>

如果字符串超过 130 个字符,它会 chop 它,然后在字符串末尾显示三个点。 如果我有十多个名为 .subject 的 span 元素怎么办,有没有办法制作一个“惰性”函数来检查所有这些元素并只 chop 那些长于 130 个字符的元素?

普通 Javascript 代码:

var res, nodeLength = document.querySelector(".subject").innerHTML;
if(nodeLength.length > 130){
    res = nodeLength.slice(0,130);
    document.querySelector(".subject").innerHTML = res + "...";
}

HTML代码:

<div class="item">
    <div class="article">
        <span class="subject">subject abcd</span>
        <span class="time">time</span>
        <span class="text">text</span>
    </div>
    <a href="#" class="more">more</a>
</div>

最佳答案

使用querySelectorAll选择所有主题跨度,然后遍历它们(在本例中,为了方便起见,我使用了 13 个字符限制而不是 130 个字符)。

另请注意,并非所有浏览器都采用 forEach 遍历节点列表,但如果遇到问题,您可以使用简单的 for 循环。

const subjects = document.querySelectorAll(".subject");

subjects.forEach(subject => {
  let text = subject.textContent;
  if (text.length > 13) {
    subject.textContent = `${text.slice(0, 13)}...`;
  }
});
<div class="item">
    <div class="article">
        <span class="subject">subjectdfdfgdfgdfgbd abcd</span>
        <span class="subject">subject abcddfg ddfg df</span>
        <span class="subject">subject abcd</span>
        <span class="subject">subject abcd</span>
        <span class="subject">subject asdgdsvbdrgsdgbbcd</span>
        <span class="time">time</span>
        <span class="text">text</span>
    </div>
    <a href="#" class="more">more</a>
</div>

关于javascript - 使用 Javascript chop 所有字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48640031/

相关文章:

javascript - 带有小型播放器并控制换行的 Video.js

javascript - 使用 CSS Grids,有没有办法在使用 grid-auto-flow : column? 时包装隐式网格

javascript - 在使用混合表达式时使用 class with angular vs ng-class

javascript - 从 JS 变量更新查询字符串中的 PHP 变量

asp.net - 背景图像不工作

javascript - 如何在鼠标悬停时在图像上显示可点击的文本框

javascript - 使用 Jquery 和 Javascript 发出调用 JSON 对象属性值的问题

javascript - 本地 HTML 文件的 cookie 保存在哪里?

javascript - 使用瓦片重建/缓存谷歌地图供离线个人使用

css - 除了第一个 child 之外的所有东西