2015-10-10 2 views
-3
<table class="list" border="0" cellspacing="0" cellpadding="0"> 
    <tr class="dataRow"> 
    <td scope="row" class="dataCell"> 
     <a href="https://test.com/test" class="ng-binding">1</a> 
    </td> 
    <td scope="row" class="dataCell"> 
     <a href="https://test.com/test" class="ng-binding">2</a> 
    </td> 
    <td scope="row" class="dataCell"> 
     <a href="https://test.com/test" class="ng-binding">3</a> 
    </td>  
    <td scope="row" class="dataCell"> 
     <a href="https://test.com/test" class="ng-binding">Homepage</a> 
    </td> 
    </tr> 
    <tr class="dataRow"> 
    <td scope="row" class="dataCell"> 
     <a href="https://test.com/test" class="ng-binding">1</a> 
    </td> 
    <td scope="row" class="dataCell"> 
     <a href="https://test.com/test" class="ng-binding">2</a> 
    </td> 
    <td scope="row" class="dataCell"> 
     <a href="https://test.com/test" class="ng-binding">3</a> 
    </td> 
    <td scope="row" class="dataCell"> 
     <a href="https://test.com/test" class="ng-binding">Blog</a> 
    </td> 
    </tr> 
    <tr class="dataRow"> 
    <td scope="row" class="dataCell"> 
     <a href="https://test.com/test" class="ng-binding">1</a> 
    </td> 
    <td scope="row" class="dataCell"> 
     <a href="https://test.com/test" class="ng-binding">2</a> 
    </td> 
    <td scope="row" class="dataCell"> 
     <a href="https://test.com/test" class="ng-binding">3</a> 
    </td> 
    <td scope="row" class="dataCell"> 
     <a href="https://test.com/test" class="ng-binding">Contact</a> 
    </td> 
    </tr> 
</table> 


var tableRow = document.querySelectorAll('.dataRow'); 
var links = $('.dataCell:nth-child(4) .ng-binding'); 

for(var i=0; i<tableRow.length; i++){ 

    console.log(links[i]); 
} 

не понимают, почему значение links является undefined Я пробовал имеющие ссылки переменную, созданные внутри цикла, как хорошо, но я получаю тот же результат - я думаю, что его потому что ссылки не являются массивом? если это так, как бы я это сделал?Значение селектора не определенно в цикле

Я добавил разметку, чтобы объяснить мой вопрос лучше ... Я пытаюсь получить ссылки из ячейки таблицы и сделать .click() на них

+2

где остальная часть кода? –

+0

Почему ваш цикл 'for' использует' tableRow.length', но вы повторяете 'links', а не' tableRow'? Нет никакой гарантии, что 'tableRow.length' - это то же значение, что и' links.length'. – jfriend00

+0

@charlietfl - да, вы можете. Это массив, похожий на объект, и отлично работает с этим типом цикла 'for'. Он выполняет итерацию элементов DOM в объекте jQuery. – jfriend00

ответ

-3

Это решение JQuery, но если это угловая приложение, которое вы должны использовать директивы

вар ссылки = $ ('Datacell:. п-й ребенок (4) .ng-связывающий');

Эта длина объекта будет 0. Посмотрите, как п-й ребенок работает https://api.jquery.com/nth-child-selector/

Я думаю, вы хотите нажать на последних звеньев в каждой ячейке.

var dataRow = $('.dataRow'); 
dataRow.each(function(ind, elem){ 
    console.log($(this).find('.ng-binding').eq(3)); 
    $(this).find('.ng-binding').eq(3).click(); 
}); 
+1

, как вы можете переписать его, когда вы даже не знаете, что такое намерение с циклом строк? Также 'get()' не возвращает jQuery. 'get()' и '[index]' делать то же самое – charlietfl

+0

Я знаю, но стандарт jQuery требует использовать get() –

+0

Нет, это не удобный метод. Мои комментарии были сделаны, когда ваш ответ был неправильным до того, как вы его отредактировали. – charlietfl