jQuery вызывает функцию от строки [дубликат]

43
задан Aakash Chakravarthy 22 February 2014 в 17:36
поделиться

2 ответа

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

var target = 'next';
$("foobar")[target]();    // identical to $("foobar").next()
108
ответ дан 26 November 2019 в 22:29
поделиться

Если вы хотите использовать jQuery, то ответ довольно элегантен. Поскольку jQuery - это объект (к которому можно обращаться как к массиву), вы можете использовать $("selector")[target]().

Примеры:

var target = 'next';
jQuery("selector")[target]();

Это сработает, если вы знаете, что можете доверять вводимым данным. Однако, если вы не уверены в этом, вам следует проверить, что функция существует, прежде чем пытаться ее запустить, иначе вы получите ошибку.

var target = 'doesNotExist';
if (jQuery.isFunction(target)) {
  jQuery('selector')[target]();
}
14
ответ дан 26 November 2019 в 22:29
поделиться
Другие вопросы по тегам:

Похожие вопросы: