是否可以使用jQuery更改Microdata itemprop?

时间:2012-11-18 15:57:32

标签: jquery schema.org microdata google-rich-snippets

以下是显示控制台日志成功的代码,但在使用Google的结构化数据测试工具或G +共享按钮进行测试时失败。原始值仍然存在。在这种情况下,“jack”永远不会更新为“jill”。

var newName= "jill"
$("h1").attr('itemprop','name').html(newName);

这是Microdata:

<body itemscope itemtype="http://schema.org/Blog">

<div style="display:none;"> 
<h1 itemprop="name">jack</h1>
<img itemprop="image" src="http://somehewhere.com/something.png" />
<p itemprop="description">some text</p>

</div>

正如您所看到的,只是尝试将“jack”的值更改为“jill”。

3 个答案:

答案 0 :(得分:1)

html()方法不能用于itemprop属性。您需要将其应用于h1标签:

$("h1[itemprop=name]").html(newName);

或者因为newName是简单文本:

$("h1[itemprop=name]").text(newName);

答案 1 :(得分:0)

那是因为GoogleBot(以及其他所有其他人)没有执行(全部)javascript。您不会通过任何客户端脚本设置或更改微数据属性。

答案 2 :(得分:0)

更改微数据值是没有意义的,因为正如dwtm.ts所说,机器人不会执行javascript并只解析在获取页面时直接下载的源代码。你应该使用GWT的“fetch as googlebot”测试工具来检查搜索机器人如何“阅读”你的页面。