0

我被分配将 MangoSlick 主题集成到我们当前的管理面板中,它是一个 jQuery、Slick(?) 和响应式模板。

首先,让我解释一下 API 是如何运行的

在文档中,它只说这是唯一的方法

data-[options]=[value]

示例:如果我想做一个进度条

我可以使用这种格式

<div class="progress">
            <div class="bar" data-title="[title]" data-value="[value]" data-max="[max]" data-format="[format string]"></div>
</div>

所以填写值

<div class="progress">
        <div class="bar" data-title="Space" data-value="1285" data-max="5120" data-format="0,0 MB"></div>
</div>

我将其作为输出

在此处输入图像描述

现在,主要问题是当我使用 jQuery attr() 来更改 data-title、data-max、data-value 和 data-format 的属性值时。

为什么它不起作用?

<script>
    var jq = $.noConflict();
    jq(document).ready(function(){
      jq('#bokz').attr("data-title", "No Space");
    });
</script>

使用上面的脚本并检查 chrome 中的元素,值已更改

在此处输入图像描述

但不在进度条中

在此处输入图像描述

你们中的一些人可能对此有一些想法?

任何帮助/建议将不胜感激。

4

1 回答 1

2

通用格式data-foo="bar"的属性是由 jQuery 用 方法读写的.data()

所以你可以试试这个:

var jq = $.noConflict();
jq(document).ready(function(){
  jq('#bokz').data("title", "No Space");
});

这可能会起作用,尽管它可能取决于何时.data()调用该方法。

我猜这.data("title", "No Space")只会在进度条初始化之前起作用。

要在初始化后设置它,我希望您需要直接在进度条的 API 上调用一些方法。如果是这样,那么您将需要查看小部件的文档以找到合适的方法,例如.setTitle(bar).progressBar('setTitle', bar)

于 2012-12-09T10:53:46.580 回答