为什么函数显示为未定义

时间:2015-06-08 12:59:59

标签: javascript html xslt

XSL:

    <script type="text/javascript">
        <xsl:value-of select="concat('replaceAll(',$idS,');')"/>
    </script>

HTML:

<script type="text/javascript">replaceAll(ID0ED);</script>

使用Javascript:

$(function () {
    var cityNameRye = $("#spnCityID0ED").text().split(";")[1];
    if (cityNameRye.toLowerCase() == "rye") {
        //do something
    }
});

我在控制台中收到以下错误,导致网站出现问题:

Uncaught ReferenceError: replaceAll is not defined

我可以创建一个清除错误的虚拟函数吗?

2 个答案:

答案 0 :(得分:1)

您的代码中没有名称为replaceAll()的任何函数

function replaceAll(varName){
   //code to execute
}

并查看是否仍有错误

答案 1 :(得分:1)

将此功能代码放在可以在执行XSL之前加载的地方:

function replaceSpnCity(idPart) {
  var idsToReplace = $("[id^='spnCity']"); //updated missing quote
  idsToReplace.each(function() {
    var id = $(this).attr('id');
    var newId = id.replace(idPart,'');
    $(this).attr('id',newId);
  });
}

从XSL调用它,如:

<xsl:value-of select="concat('replaceSpnCity(&apos;',$idS,'&apos;);')"/>