2013-08-19 6 views
0

я в настоящее время этот рабочий код:JQuery цикл через массив для правой кнопкой

$('#imgX').on('click', function(){ 
    $('table#newspaper-a tr:has(td.X)').toggle(); 
}); 

Мой вопрос, можно ли Måken массив из 1-100 (для значения X) и Повсеместно петли чтобы увидеть, нажата ли кнопка? Поскольку у меня есть кнопка на каждом td с именем «img1» «img2», и я хочу, чтобы эта кнопка переключала td с тем же номером.

ответ

3

Вы бы лучше добавить атрибут data-, чтобы попытаться определить правильное изображение:

HTML

<img src="whatever.jpg" data-idx="1" alt="My Image" /> 
<img src="whatever.jpg" data-idx="2" alt="My Image" /> 
<img src="whatever.jpg" data-idx="3" alt="My Image" /> 
<img src="whatever.jpg" data-idx="4" alt="My Image" /> 
<img src="whatever.jpg" data-idx="5" alt="My Image" /> 
<table id="newspaper-a"> 
    <tr> 
     <td class="td1">1</td> 
     <td class="td2">2</td> 
     <td class="td3">3</td> 
     <td class="td4">4</td> 
     <td class="td5">5</td> 
    </tr> 
</table> 

JQuery

$('img').on('click', function(){ 
    $('table#newspaper-a tr:has(td.td' + $(this).data("idx") + ')').toggle(); 
}); 

Кроме того, классы CSS не могут начать с номером, поэтому вам нужно будет префикс idx с чем-то. Here - это скрипка, демонстрирующая вышеизложенное.

+0

+1, вероятно, самое чистое решение. –

+0

Кнопки действительно отвечают на правильные ставки сейчас, спасибо за это! Но это только togglinh tds с таким же числом, я хотел переключить всю строку, в которой находится этот td! – BjornBogers

+1

@BjornBogers Пропустили это требование, обновленный ответ с селектором по вашему вопросу – CodingIntrigue

0

Проникновение через все tds - не очень хорошая идея. Что делать, если у вас 1000 строк или что-то в этом роде. Я предлагаю использовать такой скрипт:

$("#yourbutton").on("click", function() { 
    $(this).parent().toggle(); 
}); 

I.e. .parent() выбирает td, из которого кнопки являются частью.

P.S. Вы должны действительно попытаться оптимизировать свои селекторы. Твоя выглядит немного сумасшедшей.

+0

Я не думаю, что в ситуации OP 'td' являются родителями 'кнопок'. иначе, как только они будут скрыты, не было бы способа показать их снова ... –

Смежные вопросы