我有像
这样的HTML<a href="/blabla" class="matchupLink">
<span class="teams"> USA</span>
<strong> -0 </strong>
<span class="teams">Netherlands</span>
<span class="pull-right dateOrScore"><strong>15 Jul</strong> : 3:00pm CST</span>
</a>
<a href="/blabla2" class="matchupLink">
<span class="teams"> USA</span>
<strong> -0 </strong>
<span class="teams">Netherlands</span>
<span class="pull-right dateOrScore"><strong>15 Jul</strong> : 3:00pm CST</span>
</a>
<a href="/blabla3" class="matchupLink">
<span class="teams"> USA</span>
<strong> -0 </strong>
<span class="teams">Netherlands</span>
<span class="pull-right dateOrScore"><strong>15 Jul</strong> : 3:00pm CST</span>
</a>
我想计算每个“matchupLink”类中的字符数,但不计算“dateOrScore”类中的字符数。
我的目标是在字符数超过20个字符时剪切文本并在字符20之后放置省略号,同时保留日期(dateOrScore)元素。
我试过像
这样的东西$('.matchupLink .teams').each(function () {
console.log($(this).html())
});
但是它会单独返回每个teams
元素,不能真正使用省略逻辑。
有什么想法吗?
由于
Ps:我也试过删除所有文本,并排除'dateOrScore'(使用not()),但也失败了。
答案 0 :(得分:1)
这是你想要的吗?
var ellipses = 20;
$('.matchupLink').children().not('.dateOrScore').each(function() {
var text = $(this).text();
if(text.length > ellipses)
$(this).text(text.substr(0, ellipses) + '...');
});