为啥我的代码中没有运行 jQuery 文档就绪函数? [复制]

Posted

技术标签:

【中文标题】为啥我的代码中没有运行 jQuery 文档就绪函数? [复制]【英文标题】:Why doesn't jQuery document ready function run in my code? [duplicate]为什么我的代码中没有运行 jQuery 文档就绪函数? [复制] 【发布时间】:2020-10-20 04:32:51 【问题描述】:

我第一次使用jquery

我将此脚本添加到我的代码中

这是我的 test.aspx 页面

<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="test.aspx.cs" Inherits="myProj.test" %>

<!DOCTYPE html>

<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
    <link href='https://fonts.googleapis.com/css?family=Open+Sans:400,600&subset=latin,latin-ext' rel='stylesheet' type='text/css' />
    <link href="css/wordcloud.css" rel="stylesheet" />
    <script>
        $(document).ready(function () 

            var
                words = $('#tagi text'),
                l = words.length,
                current = null,
                delay = 2000;

            function clearBlink(o) 
                var
                    ca = o.getAttribute('class').split(' '),
                    i = ca.indexOf('blink');

                if (i !== -1) 
                    ca.splice(i, 1);
                    o.setAttribute('class', ca.join(' '));
                
            

            function addBlink(o) 
                var
                    ca = o.getAttribute('class').split(' ');
                ca.push('blink');
                o.setAttribute('class', ca.join(' '));
            

            function wordblink() 

                var e;

                if (current !== null) 
                    clearBlink(words.eq(current)[0])
                

                current = Math.floor(Math.random() * l);
                e = words.eq(current);
                addBlink(e[0]);

                setTimeout(wordblink, delay);
            
            
            alert("Hello");
            wordblink();

        );

    </script>
    <title></title>
</head>
<body>
    <form id="form1" runat="server">
        <div>

            <svg id="tagi" x="0px" y="0px"   viewBox="0 0 920 324">
                <text transform="matrix(1 0 0 1 497.4292 293.7129)" class="st17 st0">SALES</text>
                <text transform="matrix(1 0 0 1 727.8999 191.9316)" class="st17 st20">CPC</text>
                <text id="XMLID_2_" transform="matrix(1 0 0 1 433.0854 82.7407)" class="st17 st8">LEADS</text>
                <text transform="matrix(1 0 0 1 188.187 144.3555)" class="st5 st17 st22">CLICKS</text>
                <text transform="matrix(1 0 0 1 380.8301 145.1353)" class="st17 st29">ADWORDS</text>
                <text transform="matrix(1 0 0 1 378.8799 54.6626)" class="st5 st28 st6">BING</text>
                <text transform="matrix(1 0 0 1 247.0718 191.1514)" class="st5 st28 st18">YANDEX</text>
                <text transform="matrix(1 0 0 1 0 129.9268)" class="st5 st28 st30">vKONTAKTE</text>
                <text transform="matrix(1 0 0 1 250.9712 76.1118)" class="st5 st28 st14">REMARKETING</text>
                <text transform="matrix(1 0 0 1 229.9131 169.5225)" class="st5 st28 st25">MARKETING</text>
                <text transform="matrix(1 0 0 1 472.4722 105.3691)" class="st5 st28 st27">LOOKALIKE</text>
                <text transform="matrix(1 0 0 1 735.7007 163.4639)" class="st5 st28 st1">BIG DATA</text>
                <text transform="matrix(1 0 0 1 128.9111 264.4697)" class="st5 st28 st26">REKLAMA EFEKTYWNOŚšCIOWA</text>
                <text transform="matrix(1 0 0 1 191.3057 102.2393)" class="st5 st28 st24">PERFORMANCE</text>
                <text transform="matrix(1 0 0 1 318.4351 289.0342)" class="st5 st28 st1">AUTOMATION</text>
                <text transform="matrix(1 0 0 1 740.77 211.4307)" class="st5 st28 st21">ATTRIBUTION</text>
                <text transform="matrix(1 0 0 1 683.0542 230.5381)" class="st5 st28 st19">BEHAVIORAL</text>
                <text transform="matrix(0.9244 0 0 1 632.7485 97.0288)" class="st5 st28 st16">E-COMMERCE</text>
                <text transform="matrix(1 0 0 1 663.5552 139.2856)" class="st5 st28 st3">KONWERSJE</text>
                <text transform="matrix(1 0 0 1 251.3608 240.4502)" class="st5 st17 st31">SHOPPING CAMPAIGNS</text>
                <text transform="matrix(1 0 0 1 217.0439 54.2744)" class="st5 st28 st11">PRODUCT FEED</text>
                <text transform="matrix(1 0 0 1 119.9526 240.2871)" class="st5 st28 st13">TRACKING</text>
                <text transform="matrix(1 0 0 1 444.0044 34.7744)" class="st5 st17 st4">KEYWORDS</text>
                <text transform="matrix(1 0 0 1 125.4019 129.147)" class="st5 st28 st15">CTR</text>
                <text transform="matrix(1 0 0 1 350.8022 207.5303)" class="st17 st2">REVENUE</text>
                <text transform="matrix(1 0 0 1 81.5249 212.6006)" class="st17 st9">ROI</text>
                <text transform="matrix(1 0 0 1 545.0063 316.7061)" class="st5 st28 st23">COSTS</text>
                <text transform="matrix(1 0 0 1 638.2075 66.7529)" class="st5 st28 st12">AD GROUPS</text>
                <text transform="matrix(1 0 0 1 185.8467 282.4043)" class="st5 st28 st10">OPTIMIZATION</text>
                <text transform="matrix(1 0 0 1 34.1494 150.5947)" class="st5 st28 st7">TARGETING</text>
            </svg>

        </div>
    </form>
</body>
</html>

当我加载页面时它不起作用。

我发出了警报,但它从未被执行

我想知道我在这里做错了什么?

【问题讨论】:

您在代码中的哪个位置包含jQuery 我没有看到你上面的代码中加载了 jquery。您是否在母版页或任何地方添加了 jquery 库?另外,您在浏览器开发人员控制台中遇到什么控制台错误? 【参考方案1】:

我看不到您在哪里导入 JQUERY 库或链接到 JQUERY CDN,请尝试链接到 CDN。你可以在这里找到它https://code.jquery.com/

【讨论】:

【参考方案2】:

您似乎忘记为使用 jQuery 定义 &lt;script&gt;。您可以尝试附加 jQuery CDN

<script
  src="https://code.jquery.com/jquery-3.5.1.min.js"
  integrity="sha256-9/aliU8dGd2tb6OSsuzixeV4y/faTqgFtohetphbbj0="
  crossorigin="anonymous"></script>

将上面的 CDN 链接复制到您制作的 html 中。供参考:https://code.jquery.com/

【讨论】:

【参考方案3】:

在我看来,您的代码中没有任何地方包含 &lt;script&gt; 标记,该标记将 jQuery 库包含到页面中,因此浏览器不理解 $(document).ready 的含义。 jQuery 是一个外部库,默认情况下不是 javascript 的一部分,因此您必须手动包含它。

您需要一个类似以下的标签 (source) 以在页面上包含 jQuery 库:

<script
  src="https://code.jquery.com/jquery-3.5.1.min.js"
  integrity="sha256-9/aliU8dGd2tb6OSsuzixeV4y/faTqgFtohetphbbj0="
  crossorigin="anonymous"></script>

然后你的代码应该执行,只要库被包含在你的脚本之前。放置上述标记的好地方是 HTML 的 &lt;head&gt; 标记内,在您自己的 &lt;script&gt; 标记之前。这应该确保在您的脚本运行之前加载库。

【讨论】:

谢谢,现在可以使用了 :)

以上是关于为啥我的代码中没有运行 jQuery 文档就绪函数? [复制]的主要内容,如果未能解决你的问题,请参考以下文章

jQuery文档就绪事件

2. jQuery使用基础

024_jQuery中的$(function)

jQuery——jQuery鼠标事件

JQuery学习

为啥我的就绪函数总是在控制器或指令重新初始化时运行