У меня есть переменная JS, которая определяет элемент DOM, который я хочу показать где-нибудь еще в DOM, определенный как
var salesRep = $("ul.map").attr("id","1");
И я хочу передать его функции под названием show();
Итак, я сделал
function getSalesRep(salesRep){
return salesRep
}
Затем внутри функции show() я вызвал getSalesRep()
Что похоже
function show(){
getSalesRep();
var x1 = "<p>" + salesRep + "<p>";
$("#map").after($(x1));
}
Однако в DOM, где должна появиться переменная salesRep, содержащая HTML, она выводит [Object object]
Я могу понять это ... Я убежден, что это как-то связано с тем, как я неправильно определяю объект.
попробуйте использовать JSON.stringify (salesRep), а в определении функции используйте JSON.parse (salesRep);
Умммм. Как getSalesRep(); вернет что-нибудь, кроме undefined? Он возвращает переданный ему ввод, а вы его не передали. Дох!
@brk он должен выглядеть как HTML-текст вроде `Hello World '
чтобы получить html любого объекта jquery, используйте метод .html (). Попробуйте salesRep.html ()
@enhzflep спасибо! как мне передать это?
Пожалуйста. Я не собираюсь строить предположения, не увидев минимального, полного примера. Сейчас я слишком о многом догадываюсь. Простите.
Что вы ожидаете от $("ul.map").attr("id","1");? У меня такое чувство, что это не то, чего вы ожидаете? Пожалуйста, покажите свой HTML или еще лучше предоставьте минимальный воспроизводимый пример



![Безумие обратных вызовов в javascript [JS]](https://i.imgur.com/WsjO6zJb.png)


Это происходит, когда вы объединяете строку и объекты. Вам нужно упростить salesRep и объединить.
Вы можете использовать JSON.stringify () для достижения того же.
Получив строку, вы можете добавить ее как внутренний HTML-код вновь созданного элемента и добавить.
Перед добавлением элемента DOM вам необходимо JSON.stringify в [Object object]
function show(){
let listOfSales = JSON.stringify(getSalesRep());
var x1 = "<p>" + listOfSales + "<p>";
$("#map").after($(x1));
}
В случае, если вам нужно отображать html-контент,
var x1 = "<p>" + salesRep.html() + "<p>";
Вам не нужна функция для доступа к переменной salesRep. Определение getSalesRep и последующий его вызов здесь не требуется, поскольку он ничего не делает. Если вы удалите определение функции и вызовите метод show, ничего не изменится, так как в конце вы используете переменную salesRep. Вам просто нужно использовать строку salesRep для объекта, используя для него метод .html().
Как
salesRepбудет выглядеть в DOM