2012-11-18 46 views
1

這裏是失敗的代碼:使用jQuery更改微數據itemprop名稱值?

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

這裏是微觀數據:

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

我需要改變「傑克」,以「吉爾」的價值。

我改變它與G +一起使用,因爲「jill」的var值(雖然在這個例子中是靜態的)會因爲動態而改變。

在此先感謝您的幫助!

+0

**有誰知道是否可以用任何方法更改微數據?** 下面的方法和我的原始方法都顯示控制檯日誌中的成功。但是,在使用Google的結構化數據測試工具或G +分享按鈕進行測試時,既不會更改原始值。 – user1452893

回答

1

您可以更改與jQuery值作爲阿迪爾顯示,但這並不解決問題。 Google+會拍攝HTML快照以決定如何在JavaScript運行之前創建片段,或者根本不執行JavaScript。

您最好使用服務器端語言使頁面變爲動態。

也許有關於您的情況的更多解釋,我們可以提出另一種方法或解決方法?

+0

謝謝。我懷疑是這樣的。不幸的是,我只能在客戶端獲得var值。 – user1452893

1

試試這個,

Live Demo

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

第二個報告我的控制檯日誌中的更改(與我原來的一樣),但在使用Google的結構化數據測試工具進行測試時不會更新。 – user1452893

+0

我用現場演示更新了我的答案 – Adil

+0

謝謝。是的,雖然方法不同,但我也獲得了成功的結果。問題在於它在Google的結構化數據測試工具和G +分享測試中失敗。雖然console.log和我們的測試報告有所不同,但名稱仍然是「jack」。哎呀! – user1452893