为什么这个JavaScript不起作用?

时间:2010-11-09 23:30:05

标签: javascript jquery qtip

我正在使用jQuery的qTip 1.0.0-rc3插件。而且,虽然这不是什么大问题,但我很好奇为什么会这样做:

$(document).ready(function() {
    if (jQuery().qtip) {
        $('[data-qtip]').each(function() {
            var qTipContent = $(this).attr("data-qtip");
            $(this).qtip({ content: qTipContent });
        });
    }
});

工作:

$(document).ready(function() {
    addToolTips();
});

function addToolTips() {
    if (jQuery().qtip) {
        $('[data-qtip]').each(function() {
            var qTipContent = $(this).attr("data-qtip");
            $(this).qtip({ content: qTipContent });
        });
    }
};

前者是在函数内调用而后者不是。以下是来自Firebug的错误消息:

f(this).data("qtip") is null

我确定这是愚蠢的,但我错过了什么?

感谢。

3 个答案:

答案 0 :(得分:1)

您提供的代码是在“全局范围”中执行还是由{和}包装(在另一个函数或其他内容中)?

答案 1 :(得分:1)

哇,我觉得很蠢。我刚发现另一个本地文件中存在隐藏冲突。我知道一切都很正常!谢谢你的帮助。

答案 2 :(得分:0)

尝试将this作为参数传递给addToolTips()。