Javascript 是否可以将一个字符串作为子字符串,但将整个字符串隐藏起来?

Javascript 是否可以将一个字符串作为子字符串,但将整个字符串隐藏起来?,javascript,jquery,html,string,substr,Javascript,Jquery,Html,String,Substr,我试图将字符串的可见长度减少到25个字符左右。我想把整个字符串保留在页面上。当然是隐藏的 <span>This message is 34 characters long</span> $("span").text(function(index, text) { return text.substr(0, 25); }); 我想让它写的地方这个消息是34个字符,但是要隐藏其余的字符,以便我以后可以使用.show()或其他方法显示它们。您可以将整个字符串写到它自

我试图将字符串的可见长度减少到25个字符左右。我想把整个字符串保留在页面上。当然是隐藏的

<span>This message is 34 characters long</span>

$("span").text(function(index, text) {
    return text.substr(0, 25);
});

我想让它写的地方这个消息是34个字符,但是要隐藏其余的字符,以便我以后可以使用.show()或其他方法显示它们。

您可以将整个字符串写到它自己的html元素中,该元素有一个显示样式:none。您还可以向span标记添加数据属性。

您可以将整个字符串写入它自己的html元素,该元素具有显示样式:none。您还可以向span标记添加数据属性。

将其存储在jQuery的
data()

以后你就可以做了

$("span").text(function() {
    return $(this).data('txt');
});

将其存储在jQuery的
data()

以后你就可以做了

$("span").text(function() {
    return $(this).data('txt');
});
$(“span”).html(函数(索引,文本){
返回text.substr(0,25)+''+text.substr(25)+'';
});
$(“span”).html(函数(索引,文本){
返回text.substr(0,25)+''+text.substr(25)+'';
});

将字符串添加到数据属性:

<span data-text="This message is 34 characters long"></span>

$("span").text(function(index, text) {
  return $(this).data('text').substr(0, 25);
});

$(“span”).text(函数(索引,文本){
返回$(this).data('text').substr(0,25);
});

将字符串添加到数据属性:

<span data-text="This message is 34 characters long"></span>

$("span").text(function(index, text) {
  return $(this).data('text').substr(0, 25);
});

$(“span”).text(函数(索引,文本){
返回$(this).data('text').substr(0,25);
});

您可以使用CSS属性: 选择保存字符串的div,如下所示

  <div>My String</div>
  <style>
  div{
     width: 50px;
     overflow: hidden;/* this will hide all the content that surpass the width */
  }
  </style>
我的字符串
div{
宽度:50px;
溢出:隐藏;/*这将隐藏所有超过宽度的内容*/
}

您可以使用CSS属性: 选择保存字符串的div,如下所示

  <div>My String</div>
  <style>
  div{
     width: 50px;
     overflow: hidden;/* this will hide all the content that surpass the width */
  }
  </style>
我的字符串
div{
宽度:50px;
溢出:隐藏;/*这将隐藏所有超过宽度的内容*/
}

我会将不需要的部分包装在一个隐藏的范围内,这样我就可以在之后对其使用
.toggle()

$('span').html(function(index, oldHtml) {
        return oldHtml.substring(0,25) + '<span class="toggleHidden">' + text.substr(25) + '</span>';
});

$('.toggleHidden').toggle();
$('span').html(函数(索引,oldHtml){
返回oldHtml.substring(0,25)+''+text.substr(25)+'';
});
$('.toggleHidden').toggle();

请注意,使用
.html()
而不是
.text()
,因为第一个选项允许我将html元素设置为子元素。

我会将不需要的部分包装在一个隐藏的范围内,因此我可以在之后对其使用
.toggle()

$('span').html(function(index, oldHtml) {
        return oldHtml.substring(0,25) + '<span class="toggleHidden">' + text.substr(25) + '</span>';
});

$('.toggleHidden').toggle();
$('span').html(函数(索引,oldHtml){
返回oldHtml.substring(0,25)+''+text.substr(25)+'';
});
$('.toggleHidden').toggle();

注意使用
.html()
而不是
.text()
,因为第一个选项允许我将html元素设置为子元素。

您可以为原始文本设置属性或属性,并在以后使用该属性进行恢复。或者使用css:white space:pre;宽度:25em;溢出:隐藏;显示:内联块@dandavis字体大小不是字母宽度::)好的,每个字母有一半的em,你就在里面了!;)您也可以做
省略号
的事情。@dandavis Stop:不适用于字母:(您可以将属性或属性设置为原始区域文本,并在以后使用该属性进行恢复。或者使用css:white space:pre;width:25em;overflow:hidden;display:inline block;@dandavis Font size不是字母宽度::)好的,每个字母一半em,您就在!;)您也可以做
省略号
的事情。@dandavis Stop:不适用于字母:)同样的想法thought@Snorlax-谢谢!作为我自己的核电站的所有者,我真的不需要饼干,史密瑟斯为我买了饼干,但接受答案肯定会很好?Lmao。在那里大笑。我会接受我能接受的一次(我相信还有两分钟).EDIT:1分钟!@Snorlax-谢谢!作为我自己核电站的所有者,我并不真的需要饼干,史密瑟斯为我买了饼干,但接受答案肯定会很好?Lmao。在那里开怀大笑。只要我能接受(我相信还有两分钟)。EDIT:1分钟!