如何在javascript中访问对象元素?

时间:2015-07-14 10:33:14

标签: javascript jquery

我正在使用jQuery Gantt api,我想访问某些元素,但我不知道如何。

$(function() {

        "use strict";
        //var obj = JSON.parse($(".gantt").gantt);
        $(".gantt").gantt({
            source: [{
                name: "Sprint 0",
                desc: "Analysis",
                values: [{
                    from: "/Date(1320192000000)/",
                    to: "/Date(1322401600000)/",
                    label: "Requirement Gathering", 
                    customClass: "ganttRed"
                }]
            }],
            navigate: "scroll",
            scale: "weeks",
            maxScale: "months",
            minScale: "days",
            itemsPerPage: 10,
            onItemClick: function(data) {
                alert("Item clicked - show some details");
            },
            onAddClick: function(dt, rowId) {
                alert("Empty space clicked - add an item!");
            },
            onRender: function() {
                if (window.console && typeof console.log === "function") {
                    console.log("chart rendered");
                }
            }
        });
        //alert("OK");
        //var parsedData = JSON.parse();
        //alert($(".gantt").gantt.source);
        $(".gantt").popover({
            selector: ".bar",
            title: "I'm a popover",
            content: "And I'm the content of said popover.",
            trigger: "hover"
        });

        prettyPrint();

    });

我发现这个猿带有静态示例,但我试图通过更改元素源的内容来绘制我自己的图表。 所以有些人可以告诉我如何从甘特对象中获取元素源。

2 个答案:

答案 0 :(得分:0)

你期待这个吗?

要通过对象访问gantt元素,请尝试这样做。

var ganttObj = $(".gantt").data("gantt");

或尝试为此instance创建gantt

var ganttObj = $(".gantt").gantt("instance");
ganttObj.model.maxScale = "years" //To change `maxScale` property values dynamically

或者你也可以直接访问你的元素。

例如:要将maxScale值从更改为,您可以使用以下内容。

$(".gantt").gantt({ maxScale: "years" });

如果这有助于您,请告诉我。

答案 1 :(得分:-1)

根据您的示例,您可以简单地将源数据移动到变量中,以便稍后引用它:

var ganttSource = [{
    name: "Sprint 0",
    desc: "Analysis",
    values: [{
        from: "/Date(1320192000000)/",
        to: "/Date(1322401600000)/",
        label: "Requirement Gathering", 
        customClass: "ganttRed"
    }]
}];

$(".gantt").gantt({
    source: ganttSource,
    ...
});

console.log(ganttSource);