Как я могу сказать jQuery распознавать идентификаторы внутри таблицы? - PullRequest
0 голосов
/ 30 апреля 2019

У меня была таблица, в которой нажатие кнопок не работало, основываясь на функции jQuery, которую я определил в document.ready. Благодаря Stackoverflow я попробовал следующий код, и теперь кнопки работают при нажатии (показывая их идентификатор):

        $('.myspecialtable').on('click',"button.btn", function(){
            console.log(this.id);
        });

Внутри этой таблицы также div с и span с, которые имеют различные id с. К сожалению, они не распознаются jQuery. Например, я хочу изменить текст внутри span с помощью id="aggregated-score". Снова используя Stackoverflow предыдущие ответы на вопросы, я пробую следующее, и ничего не происходит:

        $('.myspecialtable').on('click',"button.btn", function(){
            console.log(this.id);
            $('#aggregated-score span').text('changed!');
        });

Даже когда я пытаюсь:

            var x = $('#aggregated-score span').text('changed!');
            console.log(x)

в консоли ничего не появляется, что заставляет меня думать, что на id ничего не действует. Что я делаю неправильно? Как я могу сказать jQuery распознавать идентификаторы внутри таблицы.

1 Ответ

1 голос
/ 30 апреля 2019

#aggregated-score span выбирает элемент с тегом span, который является потомком элемента, который имеет aggregated-score как id, так что для этого кода:

<span id="aggregated-score"><span></span></span>

#aggregated-score span выберет внутренний span.

Чтобы выбрать span с aggregated-score в качестве id, вы должны использовать span#aggregated-score или просто #aggregated-score, так как id должен быть уникальным в любом случае.

...