CSS - 用于选择特定字符的选择器?

时间:2013-12-11 20:23:22

标签: javascript jquery html css

我有一张表格。 我希望占位符中的所有'*'标记都是红色的。 我不在乎它是否会改变整个身体的'*',我不会在其他地方使用它们。 当然我可以用*做, 但它只是让我的代码看起来比以往更加混乱,并且必须有一个更紧凑的方式。

我在'head'和'body'中尝试过这个jQuery,但它不起作用:

     jQuery.fn.highlight = function (str, className) {    
            var regex = new RegExp(str, "gi");

            return this.each(function () {
            this.innerHTML = this.innerHTML.replace(regex, function(matched) {return "<span class=\"" + className + "\">" + matched + "</span>";});
        });
    };
     $("input").highlight("*","highlight");

这是我的一个表格:

 <input type="text" class="text" name="phone" placeholder="*Puhelin" />

1 个答案:

答案 0 :(得分:2)

无法在属性中设置单个字符的样式,甚至无法在输入中设置单个字符的样式。

然而,有一种方法可以实现这一目标。

使输入的背景透明,并在包含占位符的输入后面放置一个元素。现在,您所要做的就是将*字符包裹在一个范围内并将其设置为红色,然后根据需要显示和隐藏占位符元素。

概念证明:http://jsfiddle.net/Ay45T/

这也允许占位符在旧浏览器中工作,因为它不依赖于内置占位符。