显示和隐藏动态出现的文本的Div
Show and Hide Div for the text that comes dynamically
我遇到了一个问题,我们必须在产品详细信息页面的产品描述中显示/隐藏一些文本。描述必须缩短到所需的行数,点击"更多"即可显示完整的描述。我从下面的链接中获得了以下脚本:
使用JavaScriptsubstring()创建更多阅读链接
代码如下:
<script type="text/javascript">
$(function() {
var cutoff = 200;
var text = $('div.contentdetail').text();
var rest = $('div.contentdetail').text().substring(cutoff);
if (text.length > 200) {
var period = rest.indexOf('.');
var space = rest.indexOf(' ');
cutoff += Math.max(Math.min(period, space), 0);
}
rest = text.substring(cutoff);
var visibleText = $('div.contentdetail').text().substring(0, cutoff);
$('div.contentdetail')
.html(visibleText + ('<span>' + rest + '</span>'))
.append('<a title="Read More" style="font-weight:bold;display:block;cursor: pointer;">Read More…</a>')
.click(function() {
$(this).find('span').toggle();
$(this).find('a:last').hide();
});
$('div.contentdetail span').hide();
});
</script>
但通过上面的脚本,整个描述都转换为文本格式。但由于描述中包含无序列表、头标记等,因此不考虑这些。如何修改上面的脚本以按原样显示内容。
使用html()而不是text()。像这个
var text = $('div.contentdetail').html();
var rest = $('div.contentdetail').html().substring(cutoff);
休息是完全正确的。text()将所有html节点数据转换为纯文本。html()保留了它。试试看,对我有用。在上一个链接中,问题只针对文本。由于您有其他元素,如链接和其他内容,因此需要使用html()
相关文章:
- 当DIV中的文本高亮显示时,如何获得DIV中Span的值?(Javascript)
- 将Div内容复制到文本区域或具有相同字体族样式的文本
- 如何获取滚动DIV中的当前活动文本
- 如果Div包含精确文本,则添加类
- 如何从DIV数组向DIV添加文本
- Div 使用文本水平扩展
- 基本 Jquery - 如果 TD 中存在文本,则使 DIV 可见
- 获取包含单击链接的DIV的文本
- 使其在悬停文本时显示Div
- 显示和隐藏动态出现的文本的Div
- 单击时切换DIV和SPAN文本
- 用CSS居中内联块DIV“:在“;以垂直和水平为中心的废墟文本
- 根据搜索内容和Div中的文本值隐藏Div
- 使用 javascript 在 DOM 中隐藏 DIV 中的文本,具体取决于另一个 DIV 中的文本
- 如果文本为 0,JavaScript 隐藏 DIV 标记
- 如何使用GWT或Javascript强调DIV内部(innerText)的文本:
- 如何在 DIv AS HTML 内容而不是文本中显示文本区域的 HTML 内容
- JQuery if 语句基于在文本中包含特定字符串将数据追加到相应的 DIV
- Jquery:在检查最后一个字母时将文本从表单复制到 DIV
- 在 jQuery 文本区域中编辑 Div 内容