Javascript addClass with:after selector

时间:2014-04-03 13:59:31

标签: javascript jquery html css

我正在使用addClass来验证我的表单。这是我的javascript: -

if (name.val()=='') {
    name.addClass('highlight');
    return false;
} else name.removeClass('highlight');

和我正在添加的类的css是: -

#coverup .highlight {
    border: 1px solid #a94442;
}

上面的这个脚本都可以正常工作,但是我想在文本字段中添加一个glyphicon以及更改边框颜色,以便错误对用户来说更加突出。

然后我决定通过执行另一个addClass方法来更改代码,如下所示: -

if (name.val()=='') {
    name.addClass('highlight');
    name.addClass('highlight:after');
    return false;
} else name.removeClass('highlight'); name.removeClass('highlight:after');

然后将我的CSS更改为: -

#coverup .highlight {
    border: 1px solid #a94442;
}
#coverup .highlight:after {
    content:"\2715";
    color: red;
}

然而这样做并没有解决我的问题,任何人都可以给我一些选项或指导,如果我没有填写以及制作边框,我可以简单地在我的文本字段的末尾添加一个glyphicon改变颜色。

谢谢!

1 个答案:

答案 0 :(得分:0)

  • <input />元素不能包含子节点。
  • ::before::after伪元素被视为在第一个&#34;真实&#34;之前插入的子元素。分别是孩子。

考虑以上两个事实,您无法将::before::after应用于<input />元素。