Javascript 动态设置营养信息模式

Javascript 动态设置营养信息模式,javascript,jquery,json,google-apps-script,schema,Javascript,Jquery,Json,Google Apps Script,Schema,我正在尝试动态设置营养信息页面。基本上取每个表格单元格,并将其与各自的属性值(卡路里、脂肪含量等)关联。以下是网页: 下面是我试图将一些营养信息与其各自属性值关联的简短片段: jQuery(function($) { var servingsizeClass = 'servingsize'; var descriptionClass = 'description'; var fibercontentClass = 'fibercontent'; var logOutput

我正在尝试动态设置营养信息页面。基本上取每个表格单元格,并将其与各自的属性值(卡路里、脂肪含量等)关联。以下是网页:

下面是我试图将一些营养信息与其各自属性值关联的简短片段:

jQuery(function($) {

var servingsizeClass = 'servingsize';
var descriptionClass   = 'description';
var fibercontentClass   = 'fibercontent';


var logOutput     = false;

(function(){

    // Build Data
    var servingsize = Array.from(document.getElementsByClassName(servingsizeClass)).map(function(e){return e.textContent});
    var name = "Nutrition";
    var description = Array.from(document.getElementsByClassName(descriptionClass)).map(function(e){return e.textContent});
    var fibercontent = Array.from(document.getElementsByClassName(fibercontentClass)).map(function(e){return e.textContent});

    if (servingsize.length && description.length) {

        var data = {
          "@context": "https://schema.org",
          "@type": "NutritionInformation",
          "mainEntity": []
        };

        buildItem = (s,d) => {

            var item = {
                    "servingSize": null,
            "name": null,
            "description": null,
            "fiberContent": null,
            "@id": "http://schemaapp.com/db/Winston#NutritionInformation1"
                  };

            item['servingSize'] = s;
            item['name'] = n;
            item['description'] = d;
            item['fiberContent'] = f;

            return item;
        }

        data['mainEntity'] = servingSize.map(function(s,i){return buildItem(s,answers[i])});

        var script = document.createElement('script');
        script.type = "application/ld+json";
        script.innerHTML = JSON.stringify(data);
        document.getElementsByTagName('head')[0].appendChild(script);

        if (logOutput){
              console.log(script.outerHTML);
        }

    }

})(document);
    });

问题是,一旦我浏览页面,它就不会选择服务器大小名称说明光纤内容属性。如果有任何帮助,我将不胜感激,我将如何让谷歌读取这些属性。

这个函数可以很好地加载到另一个页面,并通过谷歌丰富的结果正确注册。我不明白为什么这会成为一个问题。@Cooper这里没有第三方工具。这只是用于将JSON数据添加到包含基本HTML表的页面的纯javascript。它没有添加JSON数据。我只是简单地使用RichResults测试,看看它是否能够获取属性。我确实说明了我的问题。后来我对它进行了编辑,以进一步澄清我在寻求什么帮助。我只是去读了一些关于Rich Results的文章,结果证明我应该把它传下去,因为我对它一无所知。很抱歉打扰你。这个确切的函数可以加载到另一个页面,并且被谷歌的富结果正确注册。我不明白为什么这会成为一个问题。@Cooper这里没有第三方工具。这只是用于将JSON数据添加到包含基本HTML表的页面的纯javascript。它没有添加JSON数据。我只是简单地使用RichResults测试,看看它是否能够获取属性。我确实说明了我的问题。后来我对它进行了编辑,以进一步澄清我在寻求什么帮助。我只是去读了一些关于Rich Results的文章,结果证明我应该把它传下去,因为我对它一无所知。很抱歉打扰你。