Кажется, я не могу выбрать динамически генерируемый tr по id [array]

У меня есть набор элементов, которые генерируются при вызове ajax скрипту php.

<tr id="rem[313]">...</tr>
<tr id="rem[345]">...</tr>

одной из моих функций необходимо удалить определенный tr по id.

Я пробовал все, но не мог выбрать чертовую вещь

function remove_it(x){
$('#rem['+x+']').remove();
$(this).closest('tr').remove;//this i fire from the button click
}

для проверки выбора я использую .length, и все это возвращает ноль

function remove_it(x){
alert($('#rem['+x+']').live().length;
alert($('#rem['+x+']').length);
alert($('#rem['+x+']').on().length);
} 
1
nl ja de
Возможно, вы захотите добавить этот идентификатор в атрибут data - * . Это избавит вас от необходимости избегать содержимого ваших селекторов ... Вы можете просто найти $ ("tr [data-foo = '" + x + "']") .
добавлено автор Lix, источник
Я второй Дэвид. Тем более, что вы используете двойные кавычки. ИЛИ используйте одинарные кавычки.
добавлено автор Bryan Allo, источник

1 ответы

Чтобы выбрать этот элемент:

<tr id="rem[313]">...</tr>

Использование:

$('#rem\\[' + x + '\\]')

Simple JS Fiddle proof-of-concept.

Alternatively, you could simply Использование:

$('tr[id^="rem"][id*="' + x + '"]');

Simple JS Fiddle proof-of-concept.

2
добавлено
Поскольку они используются в селекторах jQuery и CSS, для атрибутов-атрибутов, атрибутов-атрибутов и атрибутов-существует.
добавлено автор David Thomas, источник
Мне нужно передать индекс массива в качестве переменной в функции - x, так что i $ ('rem \ [' + x + '\]')?
добавлено автор Smith Smithy, источник
здорово, побег сработал !! Спасибо!! Почему мне нужно избегать скобки? подождите 7 минут, чтобы принять ответ.
добавлено автор Smith Smithy, источник
Верстка сайтов HTML/CSS/JS/PHP
Верстка сайтов HTML/CSS/JS/PHP
3 439 участник(ов)

Правила группы: напишите !rules в чате. Группа Вк: vk.com/web_structure Freelancer: @web_fl Веб Дизайн: @dev_design Маркетолог: @topmarkening Автор: @M_Boroda