jQuery脚本引用

jQuery脚本引用,jquery,asp.net,Jquery,Asp.net,当我编写此代码时: <script type="text/javascript"> function showhide(master, detail) { var src = $(master).children()[0].src; if (src.endsWith("plus.png")) src = src.replace('plus.png', 'minus.png');

当我编写此代码时:

<script type="text/javascript">
        function showhide(master, detail) {
            var src = $(master).children()[0].src;
            if (src.endsWith("plus.png"))
                src = src.replace('plus.png', 'minus.png');
            else
                src = src.replace('minus.png', 'plus.png');

            $(master).children()[0].src = src;

            $(detail).slideToggle("normal");
        }
</script>

函数showhide(主、细节){
var src=$(主).children()[0].src;
if(src.endsWith(“plus.png”))
src=src.replace('plus.png','minus.png');
其他的
src=src.replace('minus.png','plus.png');
$(主).children()[0].src=src;
$(细节)。滑动切换(“正常”);
}
并在ScriptManager中引用jQuery库:

<asp:ScriptManager ID="ScriptManager1" runat="server">
    <Scripts>
        <asp:ScriptReference Path="~/scripts/jquery-1.4.1.min.js" ScriptMode="Release" />
    </Scripts>
</asp:ScriptManager>

一切都没问题。但当我在上面的代码中输入commnet并在头部引用jQuery时:

<script src="scripts/jquery-1.4.1.min.js" type="text/javascript"></script>

调试器提醒我,对于
endsWith
对象不支持此属性或方法

为什么asp.net具有这种行为


谢谢检查jquery的路径是否正确。ScriptReference路径是“~/scripts/jquery”(相对于应用程序根目录),但您的直接引用是“scripts/jquery”(相对于页面),并且这些路径可能因页面所在位置而异。

在这一行代码中:

if (src.endsWith("plus.png"))
假设string对象有一个名为
endsWith()
的方法,但标准javascript没有这样的方法。有多种扩展可以将该方法添加到string对象(编写起来很简单),但除非您专门将其添加到string对象原型中,否则不能假定它存在

除非这两种配置中有一种配置有安装此扩展的库,否则我无法解释它为什么会工作。它不是jQuery的一部分


这里有一个关于添加endsWith()的问题方法:我碰巧喜欢讨论中的这篇文章:。

不,它是正确的。我将脚本拖放到head部分和上面的引用动态创建。拖放并不保证引用在运行时是正确的。我添加了对jQuery的引用,因此必须使用endWithrecognize@Nima-嗯?jQuery没有
endsWith()
方法。代码的问题在于未定义
endsWith()
。这正是错误消息告诉您的。