jQuery 脚本引用

标签 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');
            else
                src = src.replace('minus.png', 'plus.png');

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

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

并在 ScriptManager 中引用 jQuery 库:

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

一切都很好,但是当我在上面的代码中通讯并在头部引用 jQuery 时:

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

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

为什么 ASP.NET 有这种行为?

谢谢

最佳答案

在这行代码中:

if (src.endsWith("plus.png"))

您假设字符串对象有一个名为 endsWith() 的方法,但标准 javascript 没有这样的方法。有各种扩展可以将该方法添加到字符串对象(编写起来很简单),但是除非您专门将其添加到 String 对象原型(prototype),否则您不能假设它在那里。

我无法解释为什么它会起作用,除非两种配置之一具有安装此扩展的库。它不是 jQuery 的一部分。

这是一个关于添加endsWith()方法的早期SO问题:endsWith in JavaScript我碰巧喜欢该讨论中的这个特定帖子:endsWith in JavaScript .

关于jQuery 脚本引用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7213276/

相关文章:

javascript - JQuery:如何在填写表单时实时显示错误?

asp.net - SQL 查询在 aspx.cs 文件中(后端)

asp.net - 如何在 .NET 4.7.2 上为 OWIN OpenIdConnect.Nonce cookie 将 SameSite 值设置为 None 或 Undefined

php - 使用 Windows 主机上的 ASP.Net 表单更新 Linux 主机上的 MySQL 数据库的最有效方法是什么?

Javascript代码没有被执行

javascript - 我如何使用 Jquery 调整三 Angular 形的大小

jquery - 如何通过类和特定名称属性查找元素?

javascript - 如何使用强标签使字符串中的一个单词加粗

javascript - 尝试在新窗口中打印内容

javascript - 将图像复制到剪贴板在 Firefox 和 Chrome 中不起作用