доступ к div в селекторах jquery

Я пытаюсь получить доступ к классу curr-dish и sub-dish, используя jquery класса div третьего блюда-обертки... как получить к нему доступ, поскольку все три div имеют один и тот же класс, я хочу получить доступ только к третьему div... я не хочу добавьте любые идентификаторы в div.. предоставив мой код ниже

<span class="status">
      <div class="dish-wrapper">
        <ul class="dishations">
          <li class="curr-li">
            <div class="curr-div">
              <a class="curr-dish sub-dish" "></a>
            </div>
            <ul class="dish-ul">
          </li>
        </ul>
      </div>

      <div class="dish-wrapper">
        <ul class="dishations">
          <li class="curr-li">
            <div class="curr-div">
              <a class="curr-dish sub-dish" "></a>
            </div>
            <ul class="dish-ul">
          </li>
        </ul>
      </div>

      <div class="dish-wrapper">
        <ul class="dishations">
          <li class="curr-li">
            <div class="curr-div">
              <a class="curr-dish sub-dish" "></a>
            </div>
            <ul class="dish-ul">
          </li>
        </ul>
      </div>
</span>

person Community    schedule 12.08.2013    source источник
comment
Какой селектор вы используете, который не работает   -  person Explosion Pills    schedule 12.08.2013
comment
я пытаюсь получить класс, но я не могу получить доступ конкретно   -  person    schedule 12.08.2013
comment
$('.sub-тарелка:eq(2)'); ?   -  person lharby    schedule 12.08.2013
comment
я думал об использовании n-го ребенка, но не знаю, как его найти   -  person    schedule 12.08.2013
comment
@lharby: спасибо за ваш ответ..... вместо того, чтобы дать 3... можем ли мы получить доступ к последнему без номера... потому что иногда можно найти только два элемента div   -  person    schedule 12.08.2013
comment
Если это всегда последний, который вы хотите, есть функция jquery last(). $('.sub-тарелка').last();   -  person lharby    schedule 12.08.2013


Ответы (3)


Вы можете использовать :eq, чтобы получить элемент в определенном месте и объединить классы, используя точку .

$('.dish-wrapper:eq(2)').find(' curr-dish.sub-dish');

Чтобы получить доступ к последнему элементу, вы можете использовать :last или .last()

$('.dish-wrapper:last').find(' curr-dish.sub-dish');
person Adil    schedule 12.08.2013
comment
спасибо за ваш ответ ..... вместо того, чтобы давать 3 ... мы можем получить доступ к последнему без номера ... потому что иногда можно найти только два div - person ; 12.08.2013
comment
Чтобы получить доступ к последнему элементу, вы можете использовать :last или .last(). - person Adil; 13.08.2013

Вы можете

$('.dish-wrapper:eq(2) .curr-dish.sub-dish')
person Arun P Johny    schedule 12.08.2013
comment
вместо того, чтобы указывать 2... можем ли мы получить доступ к последнему без номера... потому что иногда можно найти только два элемента div - person ; 12.08.2013
comment
@ user2565289 yes $('.dish-wrapper:last .curr-dish.sub-dish'), вы можете использовать селектор :last - person Arun P Johny; 12.08.2013

Использование :eq() - лучший способ получить доступ к третьему элементу, как говорили другие. Чтобы получить доступ к подтарелке curr-div и curr-dish отдельно, можно использовать следующее:

$('.dish-wrapper:eq(2)').find('.curr-div');
$('.dish-wrapper:eq(2)').find('.sub-dish');

или вместе:

$('.dish-wrapper:eq(2)').find('.sub-dish,.curr-div');

ПРИМЕЧАНИЕ. Укажите имя класса без пробелов, чтобы упростить доступ к нему в jquery/javascript. Бывший. Здесь имя класса "curr-dish sub-dish" не позволяет точно искать имя класса, может проверять только последнюю часть имени класса.

Удачи!

person Surekha    schedule 12.08.2013