Вместо eval
вы можете использовать:
$(obj)[action](htmlStr);
Следующие значения эквивалентны:
a.foo
a["foo"]
Поэтому, когда у вас есть что-то вроде:
var property = "foo";
Вы можете сделать:
a[property]
для программного доступа к свойству / методу.
Кроме того, поскольку ваша переменная obj
уже является результатом jQuery, вы можете пропустить дополнительные $
:
obj[action](htmlStr);