2010-08-16 64 views
0

我在查找JavaScript代码中的错误时遇到问题。它告诉我发生了运行时错误:Expected ')'JavaScript中的错误

下面是代码:

<xsl:for-each select="./projects/project">      
    <script LANGUAGE='Javascript'>     
    x = 0; 
    if(x == 0) { 
     document.write("<td style="background-color:#76787A" ><xsl:value-of select="weight"/></td>") 
    } 
    else 
    { 
     document.write("<td><xsl:value-of select="weight"/></td>") 
    } 
    </script>      
</xsl:for-each> 

你觉得呢?

+0

这个问题有三个有效答案。请点击答案旁边的勾号以接受您的首选答案。 – 2010-08-16 09:55:03

+0

我认识到字符串问题,我解决了它,但我仍然得到相同的错误...:s – Atlas 2010-08-16 10:38:19

+0

如果仍然出现相同的错误,那么您尚未解决问题。 但是,如果您使用Firefox等Mozilla浏览器,则会出现另一个问题,即XSLT样式表生成的HTML中的document.write不受支持,请参阅https://developer.mozilla.org/zh/XSL_Transformations_in_Mozilla_FAQ – 2010-08-16 10:50:55

回答

11

你没有正确地逃脱你的字符串。如果仔细观察,SO上的语法突出显示了您的问题。

在字符串中使用引号时,使用转义的\"或单引号'

document.write("<td style='background-color:#76787A' > 
       <xsl:value-of select='weight'/></td>") 
1

看看你的document.write调用。你有一个字符串(在“”里面),里面还有“”。为Javascript这意味着您关闭字符串,则有废话文字JavaScript,然后再次打开该字符串,等等....你需要有这样一个反斜杠逃脱你的字符串:

document.write("<td style=\"background-color:#76787A\" ><xsl:value-of select=\"weight\"/></td>") 
    } 
1

您需要转义字符串中的引号,或者它们不在字符串中,但终止它们。

document.write("<td style=\"background-color:#76787A\" ><xsl:value-of select=\"weight\"/></td>")