首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >对jQuery对象的变量作用域访问

对jQuery对象的变量作用域访问
EN

Stack Overflow用户
提问于 2012-03-03 11:49:07
回答 2查看 248关注 0票数 2

我来自ExtJS背景,正在慢慢地学习jQuery。我正在尝试访问从对话框的open事件添加到对话框的myVar的选项/属性的值。

代码语言:javascript
运行
复制
$("#add-family-dialog").dialog({
    autoOpen: true,
    height: 450,
    width: 600,
    resizable: false,
    modal: true,
    myVar: "hello world!",
    open: function(event, ui) { 
        // TODO: get the myVar value
        // this
        alert($(this).myVar);
        // or this
        alert($(this).attr("myVar"));
        // or this
        alert(this.myVar);
    }
});

如何访问myVar的值?这是正确的方法吗?还是有更好的方法来保存对象上的变量?

EN

Stack Overflow用户

回答已采纳

发布于 2012-03-03 12:08:17

您可以通过'option'方法访问它:

代码语言:javascript
运行
复制
var myVar = $(this).dialog('option', 'myVar');

演示:http://jsfiddle.net/ambiguous/ww5Gm/

我不知道这是特定的还是偶然的行为,所以我不会依赖它。一种更自然的方法(IMO)是使用data附加额外数据:

代码语言:javascript
运行
复制
$('.dialog').data('myVar', 'hello world!').dialog({
    // ...
    open: function(event, ui) {
        var myVar = $(this).data('myVar');
        // ...

演示:http://jsfiddle.net/ambiguous/R9z8D/

票数 4
EN
查看全部 2 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/9543258

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档