javascript - 为什么我无法使用 jQuery 访问元素的数据属性。

标签 javascript jquery

我有以下 HTML:

    <div  class="button disabled dialogLink"
        id="edit"  
        data-action="Edit" >
        <div class="sprite-blank" ></div>
    </div>

这个 JavaScript

$('.dialogLink')
    .click(function () {
        adminDialog(this);
        return false;
    });


function adminDialog($link) {
    "use strict";
        link = {
            action: $link.data('action') || ''

我收到一条错误消息

Uncaught TypeError: Object #<HTMLDivElement> has no method 'data'

有谁知道我做错了什么。这看起来很简单的代码,所以我不明白出了什么问题。

最佳答案

您应该首先创建一个 jQuery 对象,以便使用 jQuery 对象的方法,例如 data 方法。您可以使用dataset对象:

$link.dataset.action

或 jQuery data 方法:

$($link).data('action')

关于javascript - 为什么我无法使用 jQuery 访问元素的数据属性。,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12792757/

相关文章:

javascript - 如何在 JavaScript 中立即手动运行 setTimeout 计时器?

javascript - 图像加载后进行 AJAX 调用,一次一张

.net - jQuery Ajax - 针对 ASP.NET MVC 运行多个请求

Javascript - 事件处理程序中的变量范围

javascript - 使用过滤表对第一个 td 执行异常

javascript - 从背景图像淡化到悬停

javascript - SVG:使用 getComputedTextLength 来换行文本

java - 使用 Java 访问 Java Applet 非静态方法

javascript - 下拉方向根据可用空间而变化

javascript - 如何检查 td 中文本的行长并在单击时显示更多内容