如何根据当前元素的属性设置jQuery插件选项?

时间:2010-12-28 10:56:57

标签: jquery jquery-plugins

我正在使用qTip设置工具提示。我想知道如何根据当前元素的属性设置选项?

$('*[data-tip]').qtip({ // enable qTip on all elements that has the attribute 'data-tip'
    content: this.attr('data-tip'); // I can't get this to work, is it possible?
});

1 个答案:

答案 0 :(得分:4)

您需要使用.each()来访问每个元素(如this),如下所示:

$('*[data-tip]').each(function() {
  $(this).qtip({
    content: $(this).attr('data-tip');
  });
});

然而*[data-tip]非常昂贵的选择器(可能只是[data-tip]),如果你可以将其缩小,那么它不是检查每个 DOM元素上的属性会更快。

此外,在jQuery 1.4.3+中,您可以将$(this).attr('data-tip')替换为$(this).data('tip'),它会查看data-属性(如果数据对象中不存在该键)