如何在jquery中的.html()中设置文本样式

时间:2015-02-02 18:30:42

标签: javascript jquery css

我想在html()中设置文本样式,如color:red; font-weight:bold。我怎么能在jQuery本身内做到这一点?我可以在html中使用id=login_result设置div的样式,但这里的每个文本都是红色和粗体。我只是希望下面这些错误文本只是红色。非常感谢

var login_result = $('#login_result');

if ($.trim(email.val()).length == 0) {
    email.focus(); // focus to the filed
    login_result.html('<span> Email field is required</span>');
    return false;
}

5 个答案:

答案 0 :(得分:5)

您可以在范围中添加一个类,并在样式表中定义它:

&#13;
&#13;
var login_result = $('#login_result');
if ($.trim(email.val()).length == 0) {
  email.focus(); // focus to the filed
  login_result.html('<span class="error"> Email field is required</span>');
  return false;
}
&#13;
.error {
  color: red;
}
&#13;
&#13;
&#13;

与Brad Martin的解决方案相比,这有一个优势,即所有关于样式的信息都在样式表中设置,而不是在javascript中设置,而javascript应该主要处理应用程序逻辑。

答案 1 :(得分:2)

尝试在login_result.html(&#39;&#39;)行的末尾使用.css()方法

var login_result = $('#login_result');
if ($.trim(email.val()).length == 0) {
    email.focus(); // focus to the filed
    login_result.html('<span> Email field is required</span>').css('color', 'red');
    return false;
}

答案 2 :(得分:1)

你可以这样做:

login_result
   .html('<span style="color:red;font-weight:bold">Email field is required</span>');

或者:

login_result.html('<span>Email field is required</span>');
login_result.find('span').css({'color': 'red', 'font-weight': 'bold'});

但最好的做法是使用CSS类:

login_result.html('<span class="validation-message">Email field is required</span>');

(然后将必要的样式放在CSS文件中)。

答案 3 :(得分:0)

插入新的html后,css将适用,例如:

#login_result span {
    color:red
}

会使您的新跨页文字变为红色。

答案 4 :(得分:0)

首先将类添加到span元素

if ($.trim(email.val()).length == 0) {
    email.focus(); // focus to the filed
    login_result.html($('<span> Email field is required</span>').addClass('error'));
    return false;
}

然后在CSS文件中描述该类

.error{
    color:red;
    font-weight:bold;
}