[英]Change color text in javascript
I'm new in javascript and I want to change color for different classes in this code below. 我是javascript语言的新手,我想在下面的代码中为不同的类更改颜色。 I want for example class 'ok' color green, class 'error' color red. 例如,我想将类“ ok”的颜色设置为绿色,将类“ error”的颜色设置为红色。
$('#pass').keyup(function (e) {
var strongRegex = new RegExp("^(?=.{8,})(?=.*[A-Z])(?=.*[a-z])(?=.*[0-9])(?=.*\\W).*$", "g");
var mediumRegex = new RegExp("^(?=.{7,})(((?=.*[A-Z])(?=.*[a-z]))|((?=.*[A-Z])(?=.*[0-9]))|((?=.*[a-z])(?=.*[0-9]))).*$", "g");
var enoughRegex = new RegExp("(?=.{6,}).*", "g");
if (false == enoughRegex.test($(this).val())) {
$('#passstrength').html('Minimum 6 znaków');
} else if (strongRegex.test($(this).val())) {
$('#passstrength').className = 'ok';
$('#passstrength').html('Silne!');
} else if (mediumRegex.test($(this).val())) {
$('#passstrength').className = 'alert';
$('#passstrength').html('Średnie!');
} else {
$('#passstrength').className = 'error';
$('#passstrength').html('Słabe!');
}
return true;
});
You need to use proper jquery function to add the desired class . 您需要使用适当的jquery函数来添加所需的类。
$('#pass').keyup(function (e) {
var strongRegex = new RegExp("^(?=.{8,})(?=.*[A-Z])(?=.*[a-z])(?=.*[0-9])(?=.*\\W).*$", "g");
var mediumRegex = new RegExp("^(?=.{7,})(((?=.*[A-Z])(?=.*[a-z]))|((?=.*[A-Z])(?=.*[0-9]))|((?=.*[a-z])(?=.*[0-9]))).*$", "g");
var enoughRegex = new RegExp("(?=.{6,}).*", "g");
if (false == enoughRegex.test($(this).val())) {
$('#passstrength').html('Minimum 6 znaków');
} else if (strongRegex.test($(this).val())) {
$('#passstrength').addClass('ok');
$('#passstrength').removeClass('alert');
$('#passstrength').removeClass('error');
$('#passstrength').html('Silne!');
} else if (mediumRegex.test($(this).val())) {
$('#passstrength').addClass('alert');
$('#passstrength').removeClass('ok');
$('#passstrength').removeClass('error');
$('#passstrength').html('Średnie!');
} else {
$('#passstrength').addClass('error');
$('#passstrength').removeClass('ok');
$('#passstrength').removeClass('alert');
$('#passstrength').html('Słabe!');
}
return true;
});
The addClass
adds the specified class(es) to each element in the set of matched elements. addClass
将指定的类添加到匹配元素集中的每个元素。 So use that to achieve what you want. 因此,使用它来实现您想要的。
The issue is with this $('#passstrength').className
问题在于这个$('#passstrength').className
className is native javascript method to set or return the class className是用于设置或返回类的本机javascript方法
where as $('#passstrength')
is a jquery object, className
will not work with this jquery object 因为$('#passstrength')
是一个jquery对象,所以className
不能与此jquery对象一起使用
But it will work with document.getElementById('passstrength').className='yourClassName'
但是它将与document.getElementById('passstrength').className='yourClassName'
and with jquery addClass
& removeClass
will work 并使用jQuery addClass
和removeClass
将工作
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.