Привет Как тебя find element нет в этом названии класса?

< Сильный > раскрывающихся area__itemPage

Я использую это, но не работает

$("#drop-area").children("div").find(".drop-area__item:not('.drop-area__itemPage:first')")
$("#drop-area").children("div").find(".drop-area__item")
    div#page1.drop-area__item.ui-droppable.drop-area__itemPage
    div#page2.drop-area__item.ui-droppable.ui-droppable-active
    div#page3.drop-area__item.ui-droppable.ui-droppable-active
    div#page4.drop-area__item.ui-droppable.ui-droppable-active
    div#page5.drop-area__item.ui-droppable.ui-droppable-active
    div#page6.drop-area__item.ui-droppable.ui-droppable-active
    div#page7.drop-area__item.ui-droppable.ui-droppable-active
    div#page8.drop-area__item.ui-droppable.ui-droppable-active
    div#page9.drop-area__item.ui-droppable.ui-droppable-active
enter code here
-1
ssengul 6 Янв 2017 в 10:28

3 ответа

Лучший ответ

Вот фрагмент, показывающий выбор первого дочернего элемента, который имеет один класс, но не имеет другого:

$("#drop_area").find("div.class1:not([class~='class3']):first").css("border", "5px blue solid");
.class1, .class2, .class3{
    display: inline-block;
    margin: 20px;
    width: 150px;
    height: 80px;
}
.class1 {
    background: teal;
}
.class2 {
    background: tomato;
}
.class3 {
    background: lightgreen;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div id="drop_area">
    <div class="class1 class3 class2">class1 class3 class2</div>
    <div class="class2">class2</div>
    <div class="class1 class2">class1 class2</div>
    <div class="class3 class1">class3 class1</div>
    <div class="class1">class1</div>
    <div class="class2">class2</div>
    <div class="class1 class2">class1 class2</div>
    <div class="class3 class1">class3 class1</div>
    <div class="class3">class3</div>
    <div class="class2">class2</div>
    <div class="class3 class2">class3 class2</div>
    <div class="class3 class1">class3 class1</div>
</div>
<div class="result"></div>

Итак, результат jquery-выражения выглядит так:

$("#drop-area .drop-area__item:not('.drop-area__itemPage'):first")
1
Banzay 6 Янв 2017 в 09:04

Я немного догадываюсь о том, что вы пытаетесь сделать, но если вы хотите найти первый дочерний элемент div drop-area, который не имеет класса drop-area__itemPage, вы можете сделать это :

$(function() {
  $("#drop-area").find(".drop-area__item").not('.drop-area__itemPage').first().css({
    'color': 'red'
  });
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div id="drop-area">
  <div id="page1" class=".drop-area__item ui-droppable drop-area__itemPage">1</div>

  <div id="page2" class="drop-area__item ui-droppable ui-droppable-active">2</div>

  <div id="page3" class="drop-area__item ui-droppable ui-droppable-active">3</div>
</div>
0
sideroxylon 6 Янв 2017 в 08:38

Сначала выберите все связанные элементы, затем исключите с помощью класса .drop-area__itemPage и затем используйте .eq(0), чтобы выбрать первый из них:

$('#drop-area div .drop-area__item.:not(.drop-area__itemPage)').eq(0);
0
Justinas 6 Янв 2017 в 08:37