Мне трудно понять, почему определенный селектор не работает для меня. По общему признанию я немного новичок JQuery.
Это правильно выбирает first div.editbox на странице и окрашивает его в желтый цвет:
$('div.editbox:first').css("background-color","yellow");
Тем не менее, эта конструкция if ... is
делает выделенную границу отображенной для каждого поля, когда она наведена.
$('div.editbox').bind('mouseover', function(e) {
if ($(this).is('div.editbox:first')) {$(this).css("border", "1px solid red");}
});
Я пробовал варианты, такие как '.editbox: first', '.editbox div: first' и т. Д.
По сути, я хочу иметь возможность надежно проверить, является ли это первым или последним элементом с именем класса.
Спасибо!
Редактировать: вот HTML-код, который я использую:
<body>
<div class="container">
<p></p>
<div class="editbox" id="box1">Foo</div>
<div class="editbox" id="box2">Bar</div>
<div class="editbox" id="box3">Baz</div>
<div class="responsebox" id="rbox"></div>
</div>
</body>
Это просто страница для проверки концепции; фактическая страница, конечно, будет намного сложнее. Опять же: я хочу надежно определить, нахожусь ли я в первом или последнем «div.editbox». Обходной путь, который я использовал:
$('div.editbox:last').addClass("lasteditbox");
Затем проверьте на if ($(this).is(".lasteditbox"))
, который работает, но кажется неуклюжим, и я пытаюсь найти правильный способ сделать это с JQuery.