javascript - 如何将 substr 值恢复为原始值?

标签 javascript jquery html

我获得了正确的 substr() 方法值,但无法获得原始值。请告诉我如何获取原始值。

例如)“AAAAAA”-> AA...但我不能不支持 AA...-> AAAAAA。

这是我的示例代码。

if ($(window).scrollTop() > 100) {
    var name= $('#aaa').text();
    var ellipses = name.substr(0, 9) + '...';
    document.getElementById('aaa').innerHTML = ellipses;
} else {
    //scrollTop() < 99 //I would like back the original value. 
}

最佳答案

为什么你期望删除后仍保留原始值?一旦覆盖元素的文本内容,它就会永远消失。

您需要首先将原始值保存在某处,这是一个想法:

$('#aaa').data('origValue', $('#aaa').text());
if ($(window).scrollTop() > 100) {
    var name = $('#aaa').text();
    var ellipses = name.substr(0, 9) + '...';
    document.getElementById('aaa').innerHTML = ellipses;
} else {
    //scrollTop() < 99 //I would like back the default value. 
    $('#aaa').text($('#aaa').data('origValue'));
}

此示例使用 HTML5 data-* 属性来存储原始文本,然后在向后滚动时读取它。正如我所说,这只是一个想法,还有很多其他方法可以将该文本存储在某个地方,但是您必须存储它

<小时/>

以下是您可能想要实现的目标的示例:

$('#aaa').data('origValue', $('#aaa').text());

$(window).scroll(function(){
  if ($(window).scrollTop() > 100) {
    var name = $('#aaa').text();
    var ellipses = name.substr(0, 9) + '...';
    document.getElementById('aaa').innerHTML = ellipses;
  } else {
    //scrollTop() < 99 //I would like back the default value. 
    $('#aaa').text($('#aaa').data('origValue'));
  }
});
div {padding: 120px 0; min-height: 300px;}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div id="aaa">Some super-mega-long text here! Try scrolling...</div>

关于javascript - 如何将 substr 值恢复为原始值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33652778/

相关文章:

jquery - 使用 jQuery 的 ".val()"设置表单中隐藏字段的值不起作用

javascript - 如何减少 jQuery 代码中的冗余?

javascript - 为什么 JSON.parse() 不解析这个?

javascript - 在表格 HTML 的另一页上显示表格数据

javascript - JQuery .hover SlideDown SlideUp 工作但单击不工作

javascript - ReactJs 测试模拟组件输入和响应,从哪里开始?

javascript - 在 FTP 上实时缩小 CSS 和 JS

html - 使用负边距重叠的 div 仅显示文本

javascript - 如何在 Angular 中的本地存储中存储文件(2 及更高版本)

javascript - 如何防止使用 Javascript 在页面滚动时折叠 Kendo 下拉列表?