字符串的粗体部分/向变量添加样式

时间:2016-11-15 20:29:58

标签: javascript jquery css variables substring

我只需要在此字符串中加粗日期。

 <div class="foo"><p> Click here now and get by January 1st </p></div>

我能够将日期拉出并为其创建变量

 var fullMessage =  $('.foo p').text();
 var justTheDate = fullMessage.substring(fullMessage.indexOf('get by') + 7);

但我无法加粗我创建的子字符串/变量。我希望这样的东西能起作用:

 $(justTheDate).css("font-weight","700");

这可能吗?

3 个答案:

答案 0 :(得分:0)

我希望这可以帮到你:

var element = $('.foo p'),
    fullMessage =  element.text(),
    justTheDate = fullMessage.substring(fullMessage.indexOf('get by') + 7),
    boldIt = '<span style="font-weight: 700">' + justTheDate + '</span>',
    newHtml = fullMessage.replace(justTheDate, boldIt);

    element.html(newHtml)

Fiddle demo

答案 1 :(得分:0)

不确定为什么不能简单地将日期部分包装在强标签中?

如果动态填充日期,就像通过变量一样,您可以在p标记内部放置一个span标记的占位符,其中包含一个类。

作为<span class="date"></span>

将日期值注入该标记,然后只需将css应用于此标记。

span.date{font-weight: 600;}

答案 2 :(得分:-1)

假设日期结束,您可以使用jquery(或常规javascript)创建一个span,并使用append或appendChild将其添加到p标记。

var fullMessage =  $('.foo p')
var justTheDate = fullMessage.substring(fullMessage.text().indexOf('get by') + 7);
fullMessage.append('<span class="date">' + justTheDate + '</span>');

将它放在一个范围内并使用一个类来处理该部分的css。

<style>
    .date {
        font-weight: 700;
    }
</style>
<div class="foo"><p> Click here now and get by <span class="date">January 1st</span></p></div>

<击>