如何使用存储在其他元素中的内容?

时间:2019-09-20 16:25:07

标签: jbox

我正在尝试使用数据属性创建多个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();
});

完成小提琴here

1 个答案:

答案 0 :(得分:1)

您的方法是正确的。但是您需要将代码放入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/