如何在按子字符串更改后获取旧文本
How to get old text after changing by substring?
这里我试图显示每个div文本。但如果div文本将大于190个单词,则使用read more
链接只显示190个单词。单击read more
链接时,我无法显示旧的全文。不知道如何存储相关的旧全文并以弹出样式重新显示。
<style type="text/css">
div{
width: 50%;
height: auto;
background: #faaaaf;
border : 2px solid #aedd87;
position: relative;
}
.popup{
position:absolute;top:20%;left:25%;border:1px solid red;background:#f39323;width:50%;height:50%;
}
.close{
top: -5;
left: 98%;
width: 20px;
height: 10%;
background: brown;
position: absolute;
}
</style>
<div>Accelerator beam data commissioning equipment and procedures:
Report of the TG-106 of the Therapy Physics Committee of the AAPM
Indra J. Dasa
Department of Radiation Oncology, University of Pennsylvania, Philadelphia, Pennsylvania 19104
Chee-Wai Cheng</div>
<div>Accelerator beam data commissioning equipment and procedures:
Report of the TG-106 of the Therapy Physics Committee of the AAPM
Indra J. Dasa
Department of Radiation Oncology, University of Pennsylvania, Philadelphia, Pennsylvania 19104
Chee-Wai Cheng
</div>
<div>Accelerator beam data commissioning equipment and procedures:
Report of the TG-106 of the Therapy Physics Committee of the AAPM
Indra J. Dasa
Department of Radiation Oncology, University of Pennsylvania, Philadelphia, Pennsylvania 19104
</div>
这是我通过jquery 尝试的
<script type="text/javascript">
$('div').each(function(i){
fulltext = $(this).text();
if(fulltext.length > 190){
$(this).text(fulltext.substring(0,190)).append("<a href='#' class='read'>Read More</a>");
}
});
$('.read').click(function(){
//stuck here getting old full text
var popup = "<div class='popup'><span class='close'>X</span>"+$(this).parent().text()+"</div>"; $('body').append(popup);
});
$('body').on('click','.close',function(){
$('.popup').remove();
});
</script>
在$('.read').click()
中,我如何访问旧的全文并在弹出框中显示???
我认为代码中的问题是,在创建这些元素后,必须为.read元素分配click事件。
$('div').each(function(i){
var fulltext = $(this).text();
if(fulltext.length > 190) {
$(this).text(fulltext.substring(0,190)).append("<a href='#' class='read'>Read More</a>");
}
$('.read').click(function(){
//stuck here getting old full text
var popup = "<div class='popup'><span class='close'>X</span>"+$(this).parent().text()+"</div>"; $('body').append(popup);
});
});
看看这个代码:
小提琴
我意识到弹出窗口只是显示相同的文本,我已经修改了代码,将以前的文本保存为属性,所以弹出窗口可以显示长文本。
相关文章:
- 如何获取文本框组的值,并使用jquery将它们放入(key:Value)数组中
- 在jquery中获取文本输入val始终为空
- 如何在JavaScript中获取文本区域的选定文本范围
- 点击jschart实体时获取文本
- 获取文本框中所有选定复选框的值
- 如何在按键事件发生后获取文本光标的位置
- 在单击事件上从所有类获取文本
- 使用带有文本转换的jquery获取文本
- 未获取文本输入字段的值
- 从 li 获取文本和 id 值
- 获取文本节点的宽度
- 在容器中,我有文本和 img 标签,如何仅使用 js 或 jquery 获取文本
- 获取文本区域以在使用 wysihtml5 时自动展开
- 从按钮获取文本
- 从数组中获取文本
- 如何从文本区域获取文本,包括换行符
- 如何动态获取文本框的值
- 通过javascript从不同的网页中获取文本
- 从对象中捕获的子元素中获取文本
- 正在获取文本内容pdf.js