I have an input field inside a div, and I would like the div background to change when the input field has data typed inside.
How is this done?
I have an input field inside a div, and I would like the div background to change when the input field has data typed inside.
How is this done?
你可以尝试使用 jQuery 来解决这个问题。<head>
通过在包含 jQuery .
$(document).ready(function() {
$("#myInput").keypress(function() {
if($("#myInput").val().length > 0) $("#myDiv").css("background-color", "red");
});
});
$('div input').keypress(function() {
$(this).val().length > 0) {
$(this).parent().css("background-color","red");
} else {
$(this).parent().css("background-color","none");
}
});
如果您想善待您的网页设计师并与他们交朋友,您还可以动态应用和删除类属性:
$('div input').keypress(function() {
$(this).val().length > 0) {
$(this).parent().addClass("background");
} else {
$(this).parent().removeClass("background");
}
});
然后,您的设计师可以使用 CSS“背景”类挂钩调整 CSS 文件中的外观和感觉,而不必担心弄乱您美丽的 JavaScript 杰作。它还为他们提供了更大的灵活性来进行更改,而无需将所有表示逻辑放入您的业务逻辑代码中。
/* Example CSS rule */
input.background {
background-color: red;
border-radius: 2px;
-webkit-box-shadow: 0 0 6px 4px red;
}