4

how can i select div?

<div id="languageForm:j_id427:0:j_id432">Test</div>

this code does not work

#languageForm:j_id427:0:j_id432 { color:#00aa00; }

. . . . . . . . . . . . . . . . . . .

BoltClock
  • 700,868
  • 160
  • 1,392
  • 1,356
user2306309
  • 521
  • 3
  • 6
  • 14

2 Answers2

8

: is a special character in CSS (:hover)

Use \00003A to escape it:

#languageForm\00003Aj_id427\00003A0\00003Aj_id432 { color:#00aa00; }

jsfiddle

Note: Don't use \: because it doesn't work in IE7.

Why the many 0s? Because the browser will try to read at most 6 characters to parse a unicode constant in CSS files. Without the zeros, it would read \3Aj and stop with an error.

Community
  • 1
  • 1
Aaron Digulla
  • 321,842
  • 108
  • 597
  • 820
2

Your selector contains : so you need to escape them using a backslash \, use this

#languageForm\:j_id427\:0\:j_id432 { 
     color:#00aa00; 
}

Demo

Note: May be older browsers will fail in escaping, in this case you can use \3a which is colon equivalent.

#languageForm\3a j_id427\3a 0\3a j_id432 { 
    color:#00aa00; 
}

Demo (Note the spaces after \3a)

(Consider referring aarons answer if you are going with (\3A) solution)

Community
  • 1
  • 1
Mr. Alien
  • 153,751
  • 34
  • 298
  • 278