Is there any elegant way of applying a certain style to all <input type="text">
elements under IE6? I can do it with some JavaScript, but I was wondering if there was a more elegant way of doing it.
Note - I cannot apply a certain class to all textboxes by hand. And I'd like to avoid CSS expressions.
AFAIK, IE6 does not support attribute selectors, so I think the answer is no. You'd have to use one of the following:
- Add a common class attribute to all
<input type="text"/>
elements.
- Use JavaScript, as you suggested.
Both of which you want to avoid. Too bad.
If you happen to be using jQuery, try adding this to your onDOMready:
$('input[type="text"]').addClass('typeText');
Then in your CSS you could so something like:
input.typeText, input[type="text"] {
color:#efefef;
}
Do you also have other input elements which you wish to style differently to the "text" element? If not, just apply the style to all input elements with CSS:
input {
border: 1px #8194b2 solid;
font : normal 100% "Tahoma", sans-serif;
}
Does putting a class attribute on you input element work for you?
input.text{
//some CSS attributes and values here....
}
- maybe more elegant than JS