2014-08-27 40 views
0

我试图定位一些特定的禁用文本框来改变文本的颜色。 ID的格式为:CSS:CSS选择器内的通配符

id="jc-cr-lmid-Total-1-RangeFr" 

其中数字从1-5改变,具体取决于屏幕上文本框的数量。

有没有办法在保留选择器的-RangeFr部分的情况下为数字插入通配符?

我曾尝试:

id*=["jc-cr-lmid-Total-*-RangeFr"]:disabled{ 
    //Change text color 
} 

但是,这没有奏效

回答

4

是,排序的;您可以使用属性开始,与和属性两端,用符号:

[id^="jc-cr-lmid-Total-"][id$="-RangeFr"]:disabled{ 
    //Change text color 
} 

注意,虽然,这使得所需的开始和结束之间的任何字符序列,如CSS没有正则表达式的概念,所以它会匹配:

  • id="jc-cr-lmid-Total-1-RangeFr"
  • id="jc-cr-lmid-Total-1000-RangeFr"
  • id="jc-cr-lmid-Total-anyOtherSequenceOfCharacters-RangeFr"

诚实地说,你最好只用一个班,这样会更加简单和可靠。

参考文献:

+0

这个答案在这里更合适。 – 2014-08-27 09:53:07

+0

我会在严格的指导下使用一个类,但是它的生产代码和im尽可能降低“影响”的变化。测试过以上,工作过,很好回答 – jbailie1991 2014-08-27 10:48:30

+0

老实说?我认为一个班级名称的影响要比在您的生产站点留下一个选择器的影响要小得多,这个选择器本身不可避免地会被意外滥用。 – 2014-08-27 10:50:06