有一些文字由165个字符组成。我只需显示前155个字符,但155个字符中的最后5个字符应替换为“.....”(elipses),其余字符应删除。 fiddle
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<script type="text/javascript" src="jquery-1.8.3.js"></script>
<script type="text/javascript">
$(function(){
var txt= $('div').text();
for(i=0;i<2;i++){
alert(txt.charAt(150+ i))
}
})
</script>
</head>
<body>
<div style="width:100px">
It is a long established fact that a reader will be distracted by the readable content of a page when looking at its layout. The point of using Lorem Ipsum is that
</div>
</body>
答案 0 :(得分:10)
查看substring function here和voilà:
var txt= $('#restrict').text();
if(txt.length > 155)
$('#result').text(txt.substring(0,150) + '.....');
答案 1 :(得分:5)
根据您定位的浏览器,您可以使用css。
text-overflow: ellipsis
答案 2 :(得分:2)
看起来TecHunter已经发布了几乎相同的东西,但我很无聊并且做到了这一点。
155个字符用“....”替换最后5个字符。带有字符计数器的textarea输入,在您键入时会更新。
<强> HTML 强>
<div>
<h2>Input</h2>
<textarea id="sampleInput">
It is a long established fact that a reader will be distracted by the readable content of a page when looking at its layout. The point of using Lorem Ipsum is that
</textarea>
</div>
<div>
<label>Character Count:</label> <span id ="charCounter"></span>
<div>
<h2>Output</h2>
<p style="width:100px" id="sampleOutput"></p>
<强> JS 强>
updateOutput();
$('#sampleInput').keyup(function(e){
updateOutput();
});
function updateOutput(){
var sampleInput = $('#sampleInput').val(),
sampleInputLength = sampleInput.length;
if(sampleInputLength >= 155) {
sampleInput = sampleInput.substr(0,150) + ".....";
}
$('#charCounter').text(sampleInputLength);
$('#sampleOutput').text(sampleInput);
}
<强> CSS 强>
#sampleInput {
width: 400px;
height:100px;
}
<强> jsfiddle 强>
答案 3 :(得分:0)
顺便说一句,我看到了一些不错的答案,其中一些在其他情况下效率不高,例如:复制和粘贴时。 所以,我建议:
$(document).on('keyup keypress blur change', '#elementId', function () {
var maxLength = 100; // number of characters to limit
imposeMaxLength($(this), maxLength);
});
function imposeMaxLength(element, maxLength) {
if (element.val().length > maxLength) {
element.val(element.val().substring(0, maxLength));
}
}
使用imposeMaxLength作为函数,您可以在其他事件中重复使用它。
答案 4 :(得分:0)
$(".btn-custom").text(function(index, currentText) {
if(currentText.length > 60){
return currentText.substr(0, 20)+" ...";
}
});