В JQuery можно ли ссылаться на элемент управления, используя имя переменной? Я пытаюсь изменить текст метки, но не могу найти способ обратиться к нему - PullRequest
0 голосов
/ 26 февраля 2020

Я пытаюсь изменить текст метки в JQuery, когда эта метка нажата.

Этот код работает, когда я ссылаюсь на элемент управления ('ACCP'), используя его точное имя:

$("label[for='ACCP']").text("the new text");

Но я хочу иметь возможность обратиться к управление с использованием переменной, а не ее точное имя. Это не работает:

$("label[for=' + this.id + ']").text("the new text");

Я вполне уверен, что правильный элемент управления находится за this.id, потому что, когда я выскакиваю сообщение, чтобы получить идентификатор для текущего элемента управления, он дает мне ожидаемое имя элемента управления:

var ctrlName = this.id;
alert(ctrlName); 

-> в этом случае корректно возвращает 'ACCP'.

Возможно, мне не хватает очевидной синтаксической ошибки в моем коде, но я никогда этого не делаю JQuery - мой код полностью скопирован;)

Заранее благодарим за вашу драгоценную помощь, JM

Ответы [ 2 ]

1 голос
/ 26 февраля 2020

Вам необходимо закрыть двойные кавычки: https://jsfiddle.net/gz61mdbf/

this.id = 'new_code'
$("label[for='" + this.id + "']").text("the new text");

Вы вводите строку в for, не закрывая их, поэтому у вас не работает .

0 голосов
/ 26 февраля 2020

Вы пробовали $("label[for=" + $(this).id + "]").text("the new text");?

Как сказано в этой ссылке :

При использовании этой функции вы можете вызывать методы DOM, но не jQuery методы. При использовании $ (this) вы можете вызывать jQuery методы, но не методы DOM.

Надеюсь, это поможет вам.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...