繁体   English   中英

如何访问JavaScript中的对象元素?

[英]How can i access to object elements in javascript?

我正在使用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();

    });

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

你期望这样吗?

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

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

或者尝试像这样为您的gantt创建instance

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

或者,您也可以像这样直接访问您的元素。

例如:要将maxScale值从几个月更改为几年 ,可以使用如下所示。

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

请告诉我这是否对您有帮助。

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

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);

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM