gpt4 book ai didi

javascript - 如何使用 jquery 将段落的原始文本格式放入 html 段落元素中?

转载 作者:行者123 更新时间:2023-11-28 12:19:22 24 4
gpt4 key购买 nike

我正在我的网站上创建一个客户评论部分页面,我希望在页面中显示用户输入的确切格式。在这里,我使用 jQuery 来使用带有更多链接的段落元素。我的问题是,如果用户输入长段落集,它会显示超出段落元素的宽度和高度,并且不会保留原始格式。我想根据用户输入的段落区域自动调整段落元素的区域。我该如何解决这个问题?

jQuery/Javascript:

jQuery(function() {
var minimized_elements = $('p.minimize');

minimized_elements.each(function() {
var t = $(this).text();
if(t.length < 120) return;

$(this).html(
t.slice(0,120)+'<span>... </span><a href="#" class="more">More</a>'+
'<span style="display:none;">'+ t.slice(120,t.length)+' <a href="#" class="less">Less</a></span>'
);

});

$('a.more', minimized_elements).click(function(event) {

event.preventDefault();
$(this).hide().prev().hide();
$(this).next().show();

});

$('a.less', minimized_elements).click(function(event) {

event.preventDefault();
$(this).parent().hide().prev().show().prev().show();

});
});

CSS

.more {
width: 500px;
background-color: #f0f0f0;
margin: 10px;
}

p {
padding: 0 0 20px;
}

HTML

<p id ="content" class="minimize more"  style ="width :500px; height :100px; white-space :pre "> <%# DataBinder.Eval(Container.DataItem,"Comments").ToString() %> </p> 

//where the content of the paragraph came from the database being queried as comments.

最佳答案

原始问题

要使您的评论所在的部分与内容长度成比例,您需要替换以下 html:

<p id ="content" class="minimize more"  style ="width :500px; height :100px; white-space :pre ">

到(min-height)

<p id ="content" class="minimize more"  style ="width :500px; min-height :100px; white-space :pre ">

你的 p , 谁通常是 display:inline 的元素属性(property),转向display:block不知何故。

评论中的问题

取自文本区域的文本不包含 html。换行符、额外的空格(超过 1 个)和制表符被编码并被浏览器忽略。因此,您需要将它们替换为 html 才能正确显示它们。

因此,
\r\n , \r\n (换行符)变为 <br />
\t (制表符)变为 &nbsp;&nbsp;&nbsp;&nbsp;
(空格)变为 &nbsp;

我做了一个 little demo给你玩。

(替换字符在 php 或 javascript 中都有效)

关于javascript - 如何使用 jquery 将段落的原始文本格式放入 html 段落元素中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18960070/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com