javascript 从HTML div中删除一些文本内容,并删除剩余文本,而不会导致样式失败

pxiryf3j  于 2023-01-08  发布在  Java
关注(0)|答案(1)|浏览(120)

我想从html中删除文本字符,并在不影响风格的情况下显示其余字符
如果字符数是20,
我有:

<p>
     <span class="text-huge">TE</span>
     <span class="text-huge" style="color:hsl(0, 75%, 60%);">ST</span>
     <span class="text-small" style="color:hsl(0, 75%, 60%);">ing&nbsp;</span>
</p>
<p>
      <span class="text-small" style="color:hsl(0, 75%, 60%);">SEn</span>
      <span class="text-huge">&nbsp;</span>
</p>
<p>
      <span class="text-huge">Keep some text and remove remaining with number of charectors</span>
</p>

我想:

<p>
     <span class="text-huge">TE</span>  <span class="text-huge" style="color:hsl(0, 75%, 60%);">ST</span>
     <span class="text-small" style="color:hsl(0, 75%, 60%);">ing&nbsp;</span>
</p>
<p>
      <span class="text-small" style="color:hsl(0, 75%, 60%);">SEn</span>
      <span class="text-huge">&nbsp;</span>
</p>
<p>
      <span class="text-huge">Keep som</span>
</p>

实际上,我的要求是在应用了某些样式的句子中,根据n(要显示的字符数)删除某些字符,这些样式不应删除

qv7cva1a

qv7cva1a1#

如果我没理解错的话,如果文本长度超过N个字符,您会希望在span中缩短文本:

<span id="span" class="text-huge">Lorem ipsum dolor sit amet</span>

注意:只有当span仅包含纯文本而非HTML时,此操作才有效

function checkLength(n) {
    const span = document.getElementById("span");
    const html = span.innerHTML;

    if(html.length > n) {
        span.innerHTML = html.slice(0, n);
    }
}

相关问题