браузер не видит функцию $.modal не смотря на то что она есть, ошибка: "Uncaught TypeError: $.modal is not a function"

function _CreateModal(options) {
  const modal = document.createElement(tagName: 'div')
  modal.classList.add('vmodal')
  modal.insertAdjacentHTML(where: 'afterbegin', html: `	
    			<div class = "modal-overlay">
    				<div class = "modal-window">
    					<div class = "modal-header">
    						<span class = "modal-title">
    							Some title						
    						</span>
    						<span class = "modal-close">
    							&times;						
    						</span>
    					</div>					
    					<div class = "modal-body">					
    						<p>lorem100</p>
    						<p>lorem100</p>
    					</div>					
    					<div class = "modal-footer">
    						<button>OK</button>
    						<button>Cansel</button>
    					</div>
    				</div>
    			</div>
    		`)
  document.body.appendChild(modal)
  return :modal
}
$.modal = function(options) {
  const $modal = _CreateModal(options)
  return {
    open() {},
    close() {},
    destroy() {}
  }
}


Ответы (2 шт):

Автор решения: Igor

Такого синтаксиса -

const modal = document.createElement(tagName: 'div')

в JavaScript нет. А такой -

const modal = document.createElement('div')

есть.

Названия параметров - это подсказки редактора. Aвтор видео https://www.youtube.com/watch?v=FX2fiUvrYP4&t=1631s их не печатает.

→ Ссылка
Автор решения: frozencoast

Как уже писали ранее, у вас несколько синтаксических ошибок. Ниже представлен корректный фрагмент вашего кода:

function _CreateModal(options) {
    const modal = document.createElement('div');
    modal.classList.add('vmodal');
    modal.insertAdjacentHTML('afterbegin', `
      <div class="modal-overlay">
        <div class="modal-window">
          <div class="modal-header">
            <span class="modal-title">
              Some title                        
            </span>
            <span class="modal-close">
              &times;                       
            </span>
          </div>                    
          <div class="modal-body">                  
            <p>lorem100</p>
            <p>lorem100</p>
          </div>                    
          <div class="modal-footer">
            <button>OK</button>
            <button>Cansel</button>
          </div>
        </div>
      </div>
    `);
    document.body.appendChild(modal);
    return modal;
};
$.modal = function(options) {
    const $modal = _CreateModal(options);
    return {
        open() {},
        close() {},
        destroy() {}
    };
};
→ Ссылка