2013-08-08 2 views
0

В моем HTML, у меня есть что-то вроде:Как удалить строки таблицы по классам?

<table id="registerTable"> 
    <tr class="leaderRegistration"> 
     <!--table contents--> 
    </tr> 
    <tr class="leaderRegistration"> 
     <!--table contents--> 
    </tr> 
    <tr> 
     <!--table contents--> 
    </tr> 
</table> 

Я хочу удалить некоторые строки из таблицы в зависимости от типа пользователя, который регистрирующий, поэтому в моей JavaScript У меня есть (User.AcountType это перечисление Я определен в другом месте):

if(newSysAdmin.accountType !== User.AccountType.Leader){ 
    $('#registerTable tr.leaderRegistration').remove(); 
} 

Однако, похоже, что это не работает. Я также попытался выбрать строки, используя $ ('. LeaderRegistration'), но результат тот же. Любые идеи относительно того, почему это не работает?

+3

Я бы подумал, что это будет работать нормально. Покажите что-то, воспроизводящее проблему (например, jsFiddle). Например, он работает здесь: http://jsfiddle.net/tptcR/ (измените newSysAdmin.accountType' на «что-то» и не удалите строки, предупредив 3). У JavaScript нет реальных перечислений, так что вы уверены, что реализуете его правильно? – Ian

+0

Должен работать. Возможно, это сравнение равно false. – banzomaikaka

+0

Я предполагаю, что ваше состояние виновато. Как отметил Ян, строки (строки) следует удалить с помощью скрипта внутри условия. – sbeliv01

ответ

0

http://jsfiddle.net/WT3av/

<table id="registerTable"> 
<tr class="leaderRegistration"> 
    <td>Content</td> 
</tr> 
<tr class="leaderRegistration"> 
    <td>Content</td> 
</tr> 
<tr> 
    <td>Content</td> 
</tr> 
</table> 

Ваш код работает. Может быть, вы не включили jQuery?

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

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