我目前遇到了问题。我有一个包含html的div。但是如果div中的html太长,我希望它缩短并最后添加三个点。现在用纯文本,这将没有问题。用html我的问题是这个。让我说我有
<div>
Some <a href="someurl">LinkText</a> and a
<span class="this-class">special formatting that's also <b>bold</b></span>
</div>
现在,如果我用
实现这个$(theSelector).html($(theSelector).html().substring(0,50));
会导致这样的事情(我没有计算确切的长度;))
<div>
Some <a href="someurl">LinkText</a> and a
<span class="this-
所以我最终会得到腐败的HTML。解决这个问题的简单方法就是使用文本而不是html,但我想保留格式。任何人都可以想到一种方法可以很好地缩短它,但也可以正确地关闭所有标签吗?
答案 0 :(得分:0)
尝试这样,使用正则表达式
var regex = /(<([^>]+)>)/ig
var html = jQuery("#container").html();
var result = html.replace(regex, "");
console.log(result.substr(0,50));
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div id="container">
Some <a href="someurl">LinkText</a> and a
<span class="this-class">special fomatting that's also <b>bold</b>
</span>
</div>