Я немного над головой, понимая, почему это не работает и как это исправить.Как использовать функцию jQuery, сохраненную как значение в объекте?
У меня есть объект, созданный с использованием wp_localize_script() в другом файле, и я использую его для передачи значения в файл js.
Я передаю другие статические значения таким же образом, и он работает хорошо, но у меня есть один экземпляр, где значение, которое я передаю, является функцией jQuery, которую мне нужно выполнить.
jQuery(document).ready(function ($) {
if(wptjCustomInit.opt != "") {
wptjCustomInit.opt;
console.log(wptjCustomInit.opt); //outputs correct content: $('.table-juice').DataTable();
}else{
...other code...
Моя цель за содержание объекта, подлежащего обработке вместе с остальной частью сценария, как если бы это было в файле все вместе.
Я предполагаю, что я просто не понимаю что-то фундаментальное, и я не дохожу до правильного сценария в моих попытках поиска. Я благодарен за любую помощь! (Извините за мое невежество)
Не уверен, что я его получу, wp_localize позволяет отправлять данные из PHP-сервера в интерфейс. Он делает это, вставляя скрипт с переменными и содержимым PHP, чтобы его можно было получить на клиентской стороне, и это довольно аккуратно, но как именно вы отправляете объект jQuery из PHP, где нет jQuery или javascript? – adeneo
Я подозреваю, что 'wptjCustomInit.opt' содержит строку' $ ('. Table-juice') .... 'и не очень объект jQuery, и это было бы неправильным способом сделать это, если это селектор, который вам нужен вы должны просто передать это, а не целые строки jQuery? – adeneo
Возможно, вы на правильном пути. Вы правильно относитесь к содержимому строки. wptjCustomInit - это массив, а «opt» - единственный ключ/значение в массиве. Вероятно, я неправильно назвал его объектом с точки зрения jQuery, но это то, что они назвали его в документах для wp_localize_script(). –