Is it possible to change Microdata itemprop with jQuery?

大兔子大兔子 提交于 2019-12-23 03:15:25

问题


Here is the code that shows success in console log but fails when tested with Google's Structured Data Testing Tool or with G+ share button. The original values remain. In this case "jack" never updates to "jill".

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

Here is the 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>

As you can see, just trying to change the value of "jack" to "jill".


回答1:


The html() method cannot be used on the itemprop attribute. You need to apply it to just the h1 tag instead:

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

or since newName is simple text:

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



回答2:


That's because GoogleBot (and all the others, for that matter) doesn't execute (all) javascript. You won't have any success setting or changing microdata properties by any client side script.




回答3:


Changing microdata values was no sense, since as dwtm.ts said, bots don't execute javascript and parse only source code downloaded directly when they get the pages. You should use "fetch as googlebot" test tool from GWT to check how search bots "read" your page.



来源:https://stackoverflow.com/questions/13441761/is-it-possible-to-change-microdata-itemprop-with-jquery

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!