【问题标题】:how to make part of an output in italic - JavaScript如何以斜体显示输出的一部分 - JavaScript
【发布时间】:2015-09-06 02:52:55
【问题描述】:

网上和这个网站上有很多关于制作斜体字体的问题,但没有提到如何只将字符串的一部分变为斜体。

就我而言,有一个表格,我输入书名、作者姓名和售出数量。单击按钮后,我希望作者姓名和销售数量正常,但书名在文本区域(输出)中以斜体显示。

表格编码:

<label for="txtName">Author Name</label>
<input type="text" id="txtName" size="50" placeholder="Eg, Darwin" maxlength="50">

<label for="txtTitle">Book Title</label>
<input type="text" id="txtTitle" size="40" placeholder="Eg, The Origin of Species" style="font-style:italic" maxlength="100">

<label for="txtNumber">Number Sold</label>
<input type="text" id="txtNumber" size="4" placeholder="Eg, 50000" maxlength="9">

当用户输入书名时,他们键入的标题看起来是斜体,但值不会保持为斜体。在最后完成所需的计算后,我想要按此顺序显示的标题、作者和数字:

bTitle = bookForm.txtTitle.value;
bName = bookForm.txtName.value;
bNumber = bookForm.txtNumber.value;

concatBook = bTitle+" by "+bName+" sold "+bNumber+" Copies."

此 concatBook 将通过函数显示在文本区域中。

我唯一想用斜体显示的是 bTitle。

感谢您阅读我的问题

【问题讨论】:

标签: javascript jquery html output italic


【解决方案1】:

要添加斜体样式(或任何您想要的样式),您需要将您想要样式的文本包装在 span 标记中。但是您不能在textarea 中插入 HTML。您应该改用&lt;div contenteditable="true"&gt;&lt;/div&gt;

看看这个minimal demo

HTML:

<div contenteditable="true"></div>

CSS:

span{
    font-style: italic;
}

JavaScript:

var concatBook = "<span>by</span> sold Copies."
$('div').html(concatBook);

【讨论】:

  • 感谢您的回复。但是这里有一个问题,它以斜体显示作品'by'而不是它所拥有的价值,例如,如果bTitle拥有书名,“bTitle”显然它以斜体显示bTitle而不是它携带的价值。
  • 我要做的是让 bTitle 的值斜体
  • 我的回答是“最小的例子”。在您的情况下,您可以这样做:concatBook = "&lt;span&gt;"+bTitle+"&lt;/span&gt; by "+bName+" sold "+bNumber+" Copies."。见new demo
  • 天哪,你太棒了。非常感谢。我为此苦苦挣扎了两个星期!
  • @aryazdani 我为你感到高兴!
猜你喜欢
  • 2023-03-24
  • 1970-01-01
  • 2018-06-25
  • 1970-01-01
  • 2011-08-25
  • 2015-12-29
  • 1970-01-01
  • 2010-12-26
  • 1970-01-01
相关资源
最近更新 更多