gpt4 book ai didi

jQuery $(this) 和 $ ("id") 给出不同的值

转载 作者:行者123 更新时间:2023-12-01 04:48:39 24 4
gpt4 key购买 nike

我无法理解为什么这不能按我的预期工作。基本上我有一个这样的选择:

<select id="myId" data-option-name="myOption" onchange="_ui.updateOptions($(this));">
....
</select>

updateOptions: function(element) {
var x = element.data("optionName");
}

在代码的另一个分支中我想这样做

var x = $("#myId").data("optionName");

但结果是未定义,而它在 updateOptions 内工作。

此外,如果我这样做(其中“myId”选择的 element = $(this))

updateOptions: function(element) {
var y = (element == $("#myId"));
}

我知道 y 是假的。

我错过了什么吗?如何从 $("myId") 内部访问 data-option-name?

编辑:我刚刚想到可能 (element == $("#myId")) 返回 false,因为它们是 2 个不同的 jQuery 对象,尽管它们引用相同的 DOM 元素。

EDIT2:忘记了发布代码中的哈希值..它们存在于我的源代码中。

EDIT3:更多详细信息..这些是使用带有 updateOptions 内断点的 Firebug 获取的

$("#myId").attr("id") = "myId";
element.attr("id") = "myId";
$("#myId").data("optionName") = undefined;
element.data("optionName") = "myValue";
$("#myId").data("option-name") = undefined;
element.data("option-name") = "myValue";
$("#myId").attr("data-option-name") = undefined;
element.attr("data-option-name") = "myValue";

编辑4:

$("#myId").is(element) returns false

最佳答案

您缺少哈希值:

var x = $("#myId").data("optionName");

关于jQuery $(this) 和 $ ("id") 给出不同的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24413540/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com