Adding Css class to all <input type'text'> elements? Javascript / Css?
I want to apply a CSS class to every textbox in my site:
<div class="editor-label">
<label for="FoodType">FoodType</label>
</div>
<div class="editor-field">
<input id="HelpText" name="FoodType" type="text" value="" />
</div>
<p>
<input type="submit" value="Create" />
</p>
And I thought, Hey! Easy. I'll add a jquery function to find them all in the masterpage.
<script type="text/javascript">
$(document).ready(function(){
$('input').addClass('textbox');
}
</script>
Unfortunately this will also select the submit button. Ho开发者_JS百科w can i only select input elements that have a text type attribute?
Alternativly is this possible using entirely CSS?
If both these methods are not possible, i guess i will just have to manually add the class to every textbox i make?
AFAIK it's:
$('input[type=text]').addClass('textbox');
And you can do similar in the CSS file, but that requires higher version of CSS / depending how broad you want to be with older browsers.
See attribute selectors in here. Note that:
"Browser support: The only browser that doesn’t support CSS3 attribute selectors is IE6. Both IE7 and IE8, Opera and Webkit- and Gecko-based browsers do. So using them in your style sheet is definitely safe."
<!DOCTYPE html>
<html>
<head>
<script type = "text/javascript" src = "http://ajax.googleapis.com/ajax/libs/jquery/2.1.3/jquery.min.js">
</script>
<script type="text/javascript">
$(document).ready(function(){
$(".post_class").css({padding:"10px",background:"#333",color:"#fff"});
$("#post_button").css({padding:"10px",background:"#333", textAlign:"center",color:"#fff",cursor:"pointer"})
$("#post_button").click(function(){
var input = $("input[name='checkListItem']").val();
$(".post_class").append('<div class="item">' + input + '</div>');
});
});
</script>
</head>
<body>
<form name="checkListForm">
<input type="text" name="checkListItem"/>
</form>
<div id="post_button">Post</div>
<br/>
<div class="post_class"></div>
</body>
</html>
精彩评论