У меня возникли трудности с пониманием того, почему конкретный селектор не работает для меня. По общему признанию, я немного новичок в JQuery.Проблемы с селекторами JQuery и «есть»
Это правильно выбирает первый 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: первый», «.editbox сНу: первый» и т.д.
По сути, я хочу, чтобы иметь возможность надежно проверить, является ли первый или последний элемент с именем класса.
Спасибо!
Edit: вот 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.
так что вы хотите событие только переплетены курсора, находящегося на первом? – TStamper