2015-09-09 4 views
2

Я пытаюсь запустить событие click на основе элемента, который я получаю, используя eq().Нажмите событие, основанное на элементе eq()

У меня есть три элемента с тем же названием: ag-list-item.

<!-- item one --> 
<div ag-repeat="" class="ag-list-item ag-not-dragging"> 
    <span> 
     <span class="ag-visible-icons"> 
     </span> 

     <span>Avg. Yield (bu/ac)</span> 
    </span> 
</div> 
<!-- /item one --> 

<!-- item two --> 
<div ag-repeat="" class="ag-list-item ag-not-dragging"> 
    <span> 
     <span class="ag-visible-icons"> 
     </span> 

     <span>Total Average</span> 
    </span> 
</div> 
<!-- /item two --> 

<!-- item three --> 
<div ag-repeat="" class="ag-list-item ag-not-dragging"> 
    <span> 
     <span class="ag-visible-icons"> 
     </span> 

     <span>Crop Type</span> 
    </span> 
</div> 
<!-- /item three --> 

Я пытаюсь стрелять событие щелчка на вложенном пролете элементе конкретного ag-list-item элемента. Я использовал: сначала нажмите на первую, но хотелось бы предназначаться на определенном индексе (то есть первый, второй, третий и т.д.)

// click all with .ag-list-item class 
$('.ag-list-item span span').click() 

// click first item in set 
$('.ag-list-item:first span span').click() 

// try to only click the second item in the set 

// get second 
var el = $('.ag-list-item').children('span span').eq(2); 

// click second item in set 
$(el).click(); 

Пожалуйста, помогите!

+1

Ваша проблема здесь не ясна. Является ли код '$ (el) .click();' не работает для вас? Не могли бы вы разместить функциональный пример, иллюстрирующий вашу проблему на [jsFiddle] (http://jsfiddle.net/). –

+1

Возможно, вы хотите '$ ('. Ag-list-item'). Eq (2) .children ('span span')'? –

+0

FWIW; '.eq()' создает новый объект jQuery, поэтому нет необходимости обертывать 'el', это уже объект jQuery. – George

ответ

0

.eq(2) собирается предоставить вам третий элемент, так как индексы в этом (и большинстве мира компьютерного программирования) основаны на нулевом значении. Вероятно, вы хотите .eq(1).

Кроме того, цель .eq() заключается в том, чтобы избежать повторного обертывания результата в объект jQuery.

И я угадываю, глядя на это, что вы ищете «второй» элемент списка, и вы хотите, чтобы все промежутки внутри этого могли получить обработчик кликов?

// get second 
var $el = $('.ag-list-item').eq(1); 

// click second item in set 
$el.children('span span').click(); 
Смежные вопросы