Приветствую, уважаемые форумчане! прошу подсказать, как при фокусе input type='text' добавить класс прямому родителю DIV и только ему. т. е. есть еще несколько блоков DIV с вложенными input type='text'. но они должны остаться неизменными. Заранее благодарю...
Код (Text): <div data-title='блаблабла'><input type='text' /></div> <div data-title='блаблабла'><input type='text' /></div> <div data-title='блаблабла'><input type='text' /></div> .help:after { //правила } если будет удобнее, дивам можно добавить - DIV-ам можно прописать класс, для удобства обращения. .help:focus:after - (разумеется, класс в этом случае прописываем для input а не для div) к сожалению не работает. hover работает,но нужен focus... --- Добавлено --- решаю задачу пошагово. Код (Text): HTML <div><input type='text' class='FcsInp' /></div> <div><input type='text' class='FcsInp' /></div> <div><input type='text' class='FcsInp' /></div> JQuery $('.FcsInp').focus(function(){ $('.FcsInp').parent().addClass('tit'); }); этот вариант добавляет класс всем родительским DIV при фокусе любого инпут. Как сделать добавление класса родительскому диву только того инпута, который получил фокус? заранее благодарю
HTML: <div><input type='text' class='FcsInp' /></div> <div><input type='text' class='FcsInp' /></div> <div><input type='text' class='FcsInp' /></div> --- Добавлено --- Код (Javascript): <script> el = document.getElementsByClassName('FcsInp'); //console.log(el); //первое поле el[0].onfocus = function () { el[0].parentElement.className = 'firstInput'; }; el[1].onfocus = function () { el[1].parentElement.className = 'secondInput'; }; //и. т. д </script>
естессссна... ты же потом обращаещся ко всем - $('.FcsInp'). Правильнее будет так: $('.FcsInp').focus(function(){ $(this).parent().addClass('tit'); }); (((
я это понимаю. я же написал "решаю задачу пошагово. За решение спасибо. буду пробовать --- Добавлено --- спасибо. работает полное решение выглядит так если кому то понадобится Код (Text): $('.FcsInp').focus(function(){ $(this).parent().addClass('tit'); }); $('.FcsInp').blur(function(){ $(this).parent().removeClass('tit'); });
Полное решение может выглядеть покомпактней: Код (Javascript): $('.FcsInp').on('focus blur', function(e){ $(this).parent()[e.type === 'focus' ? 'addClass' : 'removeClass']('tit'); });