创建单个元素而不是多个标签

时间:2019-12-14 06:55:05

标签: html css

代码按我的预期工作,但是有可能在单个标签或两个标签中进行编码。在id =“ vCurVal”中,我使用来自其他jsp网址的scriptlet标记获取值。

<div class="box camera-view-container col-md-3" *ngFor="let item of (snapShotArray | searchFilter: searchValue); let i = index; ">
.labelbold {
    padding-right: 0px;
    padding-left: 0px;
    font-weight: bold;
    font-size: 12px;
    padding-bottom: 0px;
    color: #993333;
    padding-top: 0px;
    font-family: verdana
}
<script type="text/javascript">
var CurrentVal = '<%=strCurrentValue%>';
document.getElementById("vCurVal").innerHTML = CurrentVal;
</script>

输出:

<div> <label class="labelbold" style="font-weight: bold; float:left;">ORDER NO - &nbsp; </label> <div id="vCurVal" class="labelbold" style="font-weight: bold; float:left;"></div> <label class="labelbold" style="font-weight: bold; float:left;">&nbsp ALREADY EXIST &nbsp; </label> </div>

我也尝试过这种方式,

ORDER NO -  37 ALREADY EXIST

输出

<legend class="labelbold" style="font-weight: bold;" >&nbsp;&nbsp; ORDER NO - &nbsp; <label id= "vCurVal" style="color:red;"> </label>&nbsp; ALREADY EXIST &nbsp;</legend>

这没有显示我期望的动态值37。

值可能会根据输入内容而更改。

1 个答案:

答案 0 :(得分:0)

一个解决方案是这个。不需要外部容器div,是的,您可以将输出元素放在labelbold元素内,这样总共只有两个嵌套元素,而不是示例中的4个。
请注意,我在这里使用了<output>元素,但是您可以根据需要使用<span>或任何内联元素。

var CurrentVal = '0.17 amp';
document.getElementById("vCurVal").innerHTML = CurrentVal;
.labelbold {
  padding-right: 0px;
  padding-left: 0px;
  font-weight: bold;
  font-size: 12px;
  padding-bottom: 0px;
  color: #993333;
  padding-top: 0px;
  font-family: 'Verdana', sans-serif;
}
<div class="labelbold" style="float:left">ORDER NO - &nbsp;<output id="vCurVal"></output>&nbsp; ALREADY EXIST &nbsp;</div>

(可以使用不带内部输出元素的解决方案(例如,在文本中需要输出的位置使用%1,JavaScript为innerHTML = innerHTML.replace(/%1/, currentVal),但我可以只是为了从源头省去一个元素,才真的建议这样的“聪明”程度。)