获取绑定到 jQuery 插件的元素的属性

Get an attribute of a element bound to a jQuery plugin

我正在使用 jQuery 插件 tagEditor,它有一个参数,您可以在其中输入占位符;但是我并不是特别想通过 JS 代码对此进行硬编码,我更希望它通过实际字段 placeholder 属性动态获取值。

我设法使用以下方法使它工作:

$('#tags').tagEditor({
    placeholder: $('#tags').attr('placeholder'),
});

但是,我还是希望不要在它获取占位符的地方对元素的 ID 进行硬编码,以防我添加辅助选择器。

我尝试使用 $(this) 获取它,但它似乎不起作用(没有价值);例如:

$('#tags').tagEditor({
    placeholder: $(this).attr('placeholder'),
});

...生成空值。

有什么方法可以在不对要从中获取值的元素进行硬编码的情况下获取值?

尝试这样的事情:

$('#tags').each(function(){    
  $(this).tagEditor( {  placeholder: $(this).attr('placeholder') } ); 
});

如果您因 each 而担心性能,这里有一个替代方案

$.fn.myTagfunc = function(callback){
  callback.apply(this);
  return this;
};

$(selector).myTagfunc( function(){ 
     $(this).tagEditor({placeholder:$(this).attr('placeholder') });   
});