2012-06-04 24 views
0

我在嘗試將JSON.stringify文件中的所有JSON文本中的<pre>元素與指定的類相關聯,然後使用google-code-prettify添加語法着色。因爲我不知道JavaScript或jQuery的我掙扎 - 到目前爲止我只有以下幾點:在所有元素上調用JSON.stringify

<body onload="prettyPrint()"> 
    ... 
    <pre class="prettyprint lang-js">{...}</pre> 
    ... 
</body> 
<script> 
    $('[class="prettyprint lang-js"]').next().text("TEST"); // call JSON.stringify()? 
</script> 

漂亮的印刷作品,但我不知道該怎麼稱呼JSON.stringify甚至只需選擇正確的元素。

更具體地說,我想要做的是爲文檔中的所有<pre>元素使用「prettyprint lang-js」類,我想用該文本上調用JSON.stringify的結果替換文本內容,並且然後撥打電話
google-code-prettify`prettyPrint()'來爲它的語法顏色。

+1

在文本上調用'JSON.stringify'只是將其包裝在引號中並轉義某些字符... –

+0

@Kolink:你是對的。我必須先使用eval()將JSON轉換爲JS對象。 –

+0

Erm ...'JSON.parse'有什麼問題? –

回答

0

您可以使用類選擇器通過類名選擇任何元素。嘗試這個。

$('.prettyprint.lang-js').each(function(){ 
    var $this = $(this); 
    $this.text(JSON.stringify($this.text())); 
}); 

//Now you can call prettyPrint 
prettyPrint(); 
+0

空間用於後代選擇器。它應該是$('。prettyprint.lang-js') – rogerz

+0

是的你是對的,我沒有注意到。謝謝! – ShankarSangoli