下划线文本区域中的部分文本[重复]
Posted
技术标签:
【中文标题】下划线文本区域中的部分文本[重复]【英文标题】:underline a part of text in Textarea [duplicate] 【发布时间】:2014-04-17 23:15:00 【问题描述】:是否可以在控制文本的一部分下划线。
我在 jquery 中确实喜欢这个,但没有出现下划线。任何示例代码示例?
<textarea rows = "3" cols = "50" id = "TestName" ></textarea>
jQuery
var dvhtml = ''
dvHTML = '<span style=text-decoration: underline;>' + "Hello world" + '</span>';
$("#TestName").html(dvHTML);
我得到的输出只是 Hello world,标签没有被识别
【问题讨论】:
我只是在大声思考:我不确定您是否可以在 textarea 中包含 html 标签。我想到的一个解决方案是拥有一个普通的 html 元素并将其设置为 contenteditable = True (html5demos.com/contenteditable)。当您将文本发送到服务器时,您可以使用 jQuery 从 div 获取它 看看这里***.com/questions/4705848/… 不,不是,因为textarea
的内容模型是Text
。每当您看到这样的效果时,这意味着textarea
已被替换为其他东西(可能是带有contenteditable
属性集的“正常”元素)。跨度>
如果是这样,那么sharepoint人员选择器控件是如何工作的?他们是如何实现的,它在识别联系人时会加下划线
您可以将<textarea>
伪装成contenteditable
为:jsfiddle.net/hashem/9PXtu/6
【参考方案1】:
您可以使用contenteditable
div。
<div contenteditable="true">I am saying <span>Hello</span></div>
Working Fiddle
【讨论】:
【参考方案2】:您不能在 textarea 上这样做,如果您需要样式,则需要一些所见即所得。 或者您可以通过在 textarea 上方添加 div 来伪造用户,并隐藏自己的 textarea。
【讨论】:
谢谢,有示例吗? 如果是这样,那么sharepoint人员选择器控件是如何工作的?他们是如何实现的,它在识别联系人时会加下划线 @Iqbal Fauzi,我们如何创建关于 textarea 的 div?哪里有这样的例子?【参考方案3】:如果您只想在特定文本下划线,可以使用:
<textarea style="text-decoration:underline;" rows="20" cols="30" id="text">All are Welcome!!</textarea>
$("document").ready(function()
$("#text").val($("#text").text());
$('textarea').keypress(function(e)
$(this).css('text-decoration','none');
);
);
演示:http://jsfiddle.net/fiddleyetu/czZWp/6/
【讨论】:
这将在文本区域内的所有内容下划线 我希望该行的特定部分加下划线,【参考方案4】:在style
标签中先添加双引号"
,然后在divHtml = ''
之后添加分号
这会起作用 -
<!DOCTYPE html>
<html>
<body>
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.11.0/jquery.min.js"></script>
<textarea rows = "3" cols = "50" id = "TestName" style="text-decoration: underline;"></textarea>
<script>
var dvHTML = '';
dvHTML = "Hello world" ;
$("#TestName").html(dvHTML);
</script>
</body>
</html>
为了让您知道区别,您在textarea
中输入的HTML
将是其文本。它会将其呈现为文本。所以改为添加文本装饰作为文本区域的样式。而且,关于您最初的问题 - textarea
不可能。看到这个 -
Rendering HTML inside textarea
【讨论】:
【参考方案5】:你不能使用文本区域,解决方案是使用可编辑的 div。
HTML:
<div id="foo">
</div>
JS:
var dvHTML = '<span style="text-decoration: underline;">Hello world</span>';
$("#foo").html(dvHTML).click(function()
this.contentEditable = true;
);
THE LIVE DEMO.
【讨论】:
在这种情况下,如果我的文本大小大于 div 大小,那么它会出现在边界之外,对吧?,如果我按 Enter 键,它不会像文本区域那样扩展 na> @LLL 你可以做一些 css 技巧来解决这个问题,再次查看演示,我更新了它。以上是关于下划线文本区域中的部分文本[重复]的主要内容,如果未能解决你的问题,请参考以下文章