У меня есть этот div#container
страницы, который содержит входные поля, текстовые поля и selectboxes. Когда я нажимаю на них, я хочу изменить цвет фона содержащего div "djform_field"
#dj-classifieds .dj-additem .djform_row .djform_field:focus {
background: none repeat scroll 0 0 #F5F5F5;
border-radius: 5px;
float: left;
padding: 15px;
}
<div class="djform_field">
<textarea id="contact" name="contact" rows="1" cols="55" class="inputbox required"><?php echo $this->item->contact; ?></textarea>
<div id="input-tips"><span class="hint"><?php echo JTEXT::_('COM_DJCLASSIFIEDS_CONTACT_TOOLTIP')?><span class="hint-pointer"> </span></span></div>
</div>
<div style="clear:both"></div>
</div>
$('#contact').focus(function(){
$('.djform_field').addClass('red');
}).blur(function(){
$('.djform_field').removeClass('red');
})
См. Демонстрацию здесь (используя jQuery)
<script src="http://ajax.googleapis.com/ajax/libs/jquery/2.0.2/jquery.min.js"></script>
@ user3057167 Вы можете узнать о jQuery здесь jquery.com .
$('.djform_field').children('*').click(function () { //use required selector in .children(), * means all children
$('.djform_field').css('background', 'color');
})
*
? без значения выбираешь всех детей ...
Установите один обработчик большого щелчка:
$("#container :text, #container select").click(function() {
$("div.djform_field)".css("background-color", "red"); //or whatever
});
<script type="text/javascript"> $(document).ready(function() { $(".djform_row :input").on('click',function() { $(".djform_field").css("background","red");}); }); $(document).ready(function() { $(".djform_row :input").on('blur',function() { $(".djform_field").css("background","yellow");}); }); </script>
Но, это делает ВСЕ ВХОДЫ КРАСНЫМИ! Я только хочу изменить фон на тот, на котором я нахожусь ...