Jquery 运行时使文本加粗

Jquery 运行时使文本加粗,jquery,html,knockout.js,Jquery,Html,Knockout.js,我正在使用knockout将视图绑定到viewmodel 我的看法是 <table> <tr> <td data-bind ="text: ConcenatedData"></td> </tr> </table> 我在我的可观测数据中获取数据,如我们公司是否需要此Emp 所以我想在标签和之间加粗。这样输出将我们公司需要这个Emp吗` 如何做到这一点 更新 我已经创建了fiddle,我希望标记和。之

我正在使用knockout将视图绑定到viewmodel

我的看法是

<table>
   <tr>
      <td  data-bind ="text: ConcenatedData"></td>
   </tr>
</table>
我在我的可观测数据中获取数据,如
我们公司是否需要此Emp

所以我想在标签
和之间加粗。
这样输出将我们公司需要这个Emp吗`

如何做到这一点

更新


我已经创建了fiddle,我希望标记
和。
之间的文本为粗体。

这是一个工作的fiddle:

  • 更改为
  • text:
    更改为
    html:
  • .makeBold
    添加到父级
  • 添加这个css

    .makeBold span{ 字体大小:粗体; 边框底部:5px纯黑; }


无需更改span的另一个解决方案(即使您应该更改为span,因为它是一个真正的标记,
不是):

更改:

<td data-bind="text: display"></td>

致:


编辑:


更新以包含
-

替代解决方案是为其使用knockout.js自定义绑定,它将
标记动态替换为
”。如果您将来想使用knockout.js进行一些更高级的自定义绑定,这可能会有所帮助

自定义绑定可能如下所示:

ko.bindingHandlers.boldText = {
    init: function(element, valueAccessor, allBindingsAccessor, viewModel, bindingContext) {
    },
    update: function(element, valueAccessor, allBindingsAccessor, viewModel, bindingContext) {
        val = valueAccessor().replace('<temp>', '<span class="makeBold">').replace('</temp>', '</span>').replace('<val>', '"').replace('</val>', '"');

        element.innerHTML = val;
    }
};
ko.bindingHandlers.boldText={
init:function(元素、valueAccessor、allBindingsAccessor、viewModel、bindingContext){
},
更新:函数(元素、valueAccessor、allBindingsAccessor、viewModel、bindingContext){
val=valueAccessor().replace('','').replace('','').replace('','').replace('');
element.innerHTML=val;
}
};
然后您将执行以下绑定:

<td data-bind="boldText: display"></td><td >&nbsp;&nbsp;&nbsp;</td>


请参见此处的JSFIDLE:

现代浏览器将获得以下css规则:
temp{font-weight:bold;}
@Cherniv你能告诉我怎么做吗?他刚刚做了,哈哈xD你只需要把他给的代码像其他CSS一样放在一对
标签中。或者你可以把它放在
选择器中,如果你能做
等待你知道的knockout.js,而不是简单的CSS?不,很高兴。请尝试看看,如果你有任何问题,请告诉我们非常感谢你的解决方案,但我需要接受另一个解决方案,因为他帮了我很多。我对你的努力投了赞成票。
ko.bindingHandlers.boldText = {
    init: function(element, valueAccessor, allBindingsAccessor, viewModel, bindingContext) {
    },
    update: function(element, valueAccessor, allBindingsAccessor, viewModel, bindingContext) {
        val = valueAccessor().replace('<temp>', '<span class="makeBold">').replace('</temp>', '</span>').replace('<val>', '"').replace('</val>', '"');

        element.innerHTML = val;
    }
};
<td data-bind="boldText: display"></td><td >&nbsp;&nbsp;&nbsp;</td>