Как использовать контент, который хранится в других элементах? - PullRequest
0 голосов
/ 20 сентября 2019

Я пытаюсь создать несколько jBox, используя атрибуты данных, и я хочу кормить их контентом из других элементов.

Я предположил, что это будет невозможно (из коробки), поэтому яиспользовал атрибут data-jbox-content-from, который должен указывать на элемент с содержимым.Но теперь я в замешательстве: я знаю, что мне следует создавать только один jBox - но я не понимаю, как это можно сделать, когда, с другой стороны, мне нужны отдельные вызовы для каждого элемента для предоставления содержимого?

И чтобы подтвердить мою неуверенность ... скрипка не работает.Поэтому я надеюсь, что кто-нибудь найдет способ сделать это, либо исправить мои ошибки в моем «уродливом» подходе (eachi ng над элементами управления), либо разумнее использовать JS / jBox.

$("[data-jbox-content-from]").each(function() {
  new jBox("Tooltip", {
    theme: "TooltipDark",
    id: "jBoxTooltip_" + $(this).attr("id"),
    getTitle: "data-jbox-title",
    content: $($(this).attr("data-jbox-content-from")),
    attach: "#" + $(this).attr("id")
  }).attach();
});

Complete fiddle здесь

1 Ответ

1 голос
/ 25 сентября 2019

Вы подходите правильно.Но вам нужно поместить свой код в domready:

$(document).ready(function () {
  $("[data-jbox-content-from]").each(function() {
    new jBox("Tooltip", {
      theme: "TooltipDark",
      id: "jBoxTooltip_" + $(this).attr("id"),
      getTitle: "data-jbox-title",
      content: $($(this).attr("data-jbox-content-from")),
      attach: "#" + $(this).attr("id")
    });
  });
});

Также обратите внимание, что я удалил метод .attach() после new jBox.jBox делает это при инициализации.

См. обновленную скрипту: https://jsfiddle.net/StephanWagner/kqgxcda1/1/

...