You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用jQuery .data()实现数据存取及日期显示问题求助

修复后的完整代码及问题解析

嘿,我帮你排查了下问题,大概率是几个常见的小疏漏导致的——比如没引入jQuery库、DOM还没加载就执行了代码,或者.data()的使用逻辑没理顺。咱直接上修复后的完整可运行代码,再给你拆解关键部分:

<!DOCTYPE html>
<html lang="zh-CN">
<head>
    <meta charset="utf-8">
    <title>data demo</title>
    <style>
        div {
            margin: 20px;
            padding: 10px;
            border: 1px solid #ccc;
        }
        button {
            padding: 8px 16px;
            cursor: pointer;
        }
    </style>
    <!-- 必须先引入jQuery库,否则所有jQuery语法都会失效 -->
    <script src="https://code.jquery.com/jquery-3.6.4.min.js"></script>
</head>
<body>
    <button id="showDateBtn">点击显示今日日期</button>
    <div id="dateDisplay"></div>

    <script>
        // 确保DOM加载完成后再执行JS代码,避免找不到元素
        $(document).ready(function() {
            $('#showDateBtn').click(function() {
                // 获取格式化后的当前日期时间
                const currentDateTime = new Date().toLocaleString('zh-CN', {
                    year: 'numeric',
                    month: '2-digit',
                    day: '2-digit',
                    hour: '2-digit',
                    minute: '2-digit',
                    second: '2-digit'
                });
                
                // 用.data()把日期时间存储到按钮元素上(也可以存储到div或者其他元素)
                $(this).data('currentDate', currentDateTime);
                
                // 从.data()中取出存储的日期,显示到div里
                const storedDate = $(this).data('currentDate');
                $('#dateDisplay').text(`今日日期为${storedDate}`);
            });
        });
    </script>
</body>
</html>

关键修复点说明

  • 必须引入jQuery库:你原来的代码片段里没看到引入jQuery的语句,这是最常见的问题——没有库的支持,$、.data()这些语法根本无法运行。
  • 等待DOM加载完成:用$(document).ready()包裹代码,确保按钮、div这些元素已经被浏览器渲染出来后,再绑定点击事件,避免出现“找不到元素”的错误。
  • 正确使用.data():.data()是用来在DOM元素上存储自定义数据的,我们先把格式化后的日期存到按钮上,再取出来显示,逻辑更清晰。
  • 日期格式化:用toLocaleString()可以轻松生成符合中文习惯的日期格式,避免手动拼接日期的麻烦。

你原来代码可能踩的坑

  1. 忘记引入jQuery库,导致所有jQuery相关代码报错;
  2. JS代码写在<head>里但没加$(document).ready(),此时按钮还没被渲染,无法绑定点击事件;
  3. 日期获取或格式化的代码有语法错误,导致整个JS脚本中断。

内容的提问来源于stack exchange,提问作者Chloe Harrison

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.26 10:00:11