Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 26.11.2021, 15:00
Аспирант
Отправить личное сообщение для Alexander3928 Посмотреть профиль Найти все сообщения от Alexander3928
 
Регистрация: 19.05.2021
Сообщений: 75

как вызвать функцию внутри другой функции?
Хочу понять как вызывать функцию из разных файлов в другую функцию. То-есть чтобы 2 функция с элементом p был внутри div с классом ttt

файл t.js

import { f } from "./f.js"

function t(root) {
    const ttt = document.createElement("div")
    ttt.classList.add("ttt")

    t.append(f(root))

    root.append(ttt)

}

t(document.querySelector("body"))


файл f.js

function f(root) {

    const fff = document.createElement("p")
    fff.classList.add("fff")

    root.append(fff)
}

export { f }


Что я не так тут сделал? + я знаю можно еще с помощью return возвращать функцию, если можно примерчик с return или append
Ответить с цитированием
  #2 (permalink)  
Старый 26.11.2021, 15:36
Аватар для voraa
Профессор
Отправить личное сообщение для voraa Посмотреть профиль Найти все сообщения от voraa
 
Регистрация: 03.02.2020
Сообщений: 2,692

t.append(f(root))

t - это функция, а не элемент
Наверно вы хотели написать ttt.append(f(root))
Но f должна возвращать элемент, который она создает
Поэтому так надо

import { f } from "./f.js"
 
function t(root) {
    const ttt = document.createElement("div")
    ttt.classList.add("ttt")
 
    ttt.append(f())
 
    root.append(ttt)
 
}
 
t(document.querySelector("body"))


и

function f() {
    const fff = document.createElement("p")
    fff.classList.add("fff")
 
    return fff
}
 
export { f }
Ответить с цитированием
  #3 (permalink)  
Старый 26.11.2021, 16:12
Аспирант
Отправить личное сообщение для Alexander3928 Посмотреть профиль Найти все сообщения от Alexander3928
 
Регистрация: 19.05.2021
Сообщений: 75

voraa,
А если там не один элемент а штук 6 или больше? Тогда нужно возвращать последний элемент(родительский)?
Ответить с цитированием
  #4 (permalink)  
Старый 26.11.2021, 17:31
Аватар для voraa
Профессор
Отправить личное сообщение для voraa Посмотреть профиль Найти все сообщения от voraa
 
Регистрация: 03.02.2020
Сообщений: 2,692

Где там?
А возвращать надо всегда то, что потом будет где то использоваться, и чего нет во внешнем коде.
Ответить с цитированием
  #5 (permalink)  
Старый 27.11.2021, 10:53
Аспирант
Отправить личное сообщение для Alexander3928 Посмотреть профиль Найти все сообщения от Alexander3928
 
Регистрация: 19.05.2021
Сообщений: 75

voraa,
Я имею виду если я не один элемент хочу из функции вызвать, а целую структуру блоков вот так:

<div class="box">
    <div class="item">
      <img src="" alt="" class="image">
      <img src="" alt="" class="image">
      <img src="" alt="" class="image">
    </div>
  </div>


P.S. я просто пытаюсь вернуть innerHTML, а получил не то что хотел.
Изображения:
Тип файла: jpg 12313131313.jpg (14.4 Кб, 2 просмотров)

Последний раз редактировалось Alexander3928, 27.11.2021 в 11:16.
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Вызов функции внутри другой функции. Win32Sector Events/DOM/Window 1 12.12.2015 20:28
Как вызвать функцию из переменной? sss2019 Общие вопросы Javascript 7 02.09.2014 13:34
как вызвать функцию с двумя разными bindings rustunn Общие вопросы Javascript 1 19.02.2013 15:36
Как вызвать функцию Решатель Элементы интерфейса 1 31.10.2011 16:57
Как вызвать функцию из другого файла Mukhtar AJAX и COMET 4 07.10.2011 22:01