格式化文本域内的部分文本

时间:2010-08-11 15:52:33

标签: javascript html dhtml

假设您的网页中有文字字段。文本字段中的值是“这是您的欢迎文本”。有什么方法可以提供红色来“欢迎”而不是其他的话。

简而言之,在文本字段的文本的某些部分应用样式。

有些人可以提出一种做法吗?

4 个答案:

答案 0 :(得分:1)

除非您使用某种rich text editor,例如CKEditorTinyMCE等,否则无法再进行此操作。但我再次认为,对于此类未成年人,我认为不值得使用丰富的编辑器任务。

答案 1 :(得分:1)

没有文字字段。您可以使用div或其他元素contentEditable设置

<div contentEditable="true">
This is your <b style="color:red";>welcome</b> text
</div>

但是,根据您对该文本的处理方式,有一些警告。

答案 2 :(得分:1)

除了适用于其中所有文本的CSS样式外,您无法在<textarea>中进行任何样式设置。最富文本编辑器所做的是以编程方式将textarea替换为contentEditable设置为true的iframe。它们实现无缝化的方式相对先进和复杂,但可以完成。

我建议您只使用现成的富文本编辑器来满足您的需求,但如果您想创建自己的文本编辑器有很多resources available

答案 3 :(得分:1)

RoToRa是正确的,除了你需要使用TRUE,而不是是。

以下代码有效。您必须对其进行更多样式以使其看起来像文本框。例如,在Firefox中,当您单击它时,它周围会出现一个丑陋的边框。但这就像你想要的那样。

<div contenteditable="true" style="width:200; border:1px solid black; padding:1.5;">
This is your <b style="color:red";>welcome</b> text
</div>

尝试使用CSS来设置样式,而不是使用内联样式。既然你有很多文本框,那就更好了。我只是使用内联样式来帮助您了解如何使其看起来更像文本框。边框和轻微的填充。然后你还需要使它成为某种可滚动的div。但这是一个不同的问题。