2012-06-04 85 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