如何在这行javascript代码中添加HTML元素?

时间:2016-01-26 15:21:30

标签: javascript jquery html

我的javascript中有以下代码行:

$('form #fullvalue').val('Monthly Payment: '+fullvalue2+'pm');

我需要做的是包装"每月付款"在span元素中。

我这样编码(见下文),但它并没有发现它是一个html元素,它将html输出为文本:

$('form #fullvalue').val('<span>Monthly Payment: </span>'+fullvalue2+'pm');

*更新* 很抱歉混淆,但我没有尝试在文本字段中添加跨度。它适用于我的表单中的一行文本,但不是文本或文本区域字段 - 它只是表单内显示的正常文本行。 &#34; fullvalue2&#34; javascript代码从表单中的计算器输出结果。而且我只是想在&#34; fullvalue2&#34;

之前添加文本&#34; Monthly Payment&#34 ;,它应该包含在一个范围内。

3 个答案:

答案 0 :(得分:5)

你不能。

表单控件的值只能是纯文本。

如果你需要标记,那么你需要使用一些更复杂的东西(例如带有contentEditable集合的div和一堆JS,当你想要使用数据时将它读回来。)

答案 1 :(得分:1)

要设置节点的HTML,请使用$.html$.val用于表单字段。

&#13;
&#13;
$('button').click(function(){
  var fullvalue2 = $('#val').val();
  $('form #fullvalue').html('<span>Monthly Payment: </span>'+fullvalue2+'pm');
});
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<form> 
  <input id="val" value="123.34"/>
  <span id="fullvalue">Original value</span>
</form>

<button>Change HTML</button>
&#13;
&#13;
&#13;

答案 2 :(得分:0)

使用label元素在input元素的textareaform属性中包含有关forlabel元素的描述性文字与id元素相关联的inputtextarea的引用label