4

这是 Jeditable的续篇:如何根据dom元素属性设置参数

请在这里回复..这是我的“真实”帐户..

我正在尝试为启用了 jQuery 插件“Jeditable”的不同 div 分配不同的参数值。我无法让它工作,我敢肯定它很简单..但我无法弄清楚..

我如何实现它?

给定以下 DOM 元素:

<div class="editme" id="theone" rel="test"></div>

这些不同的片段为上述空 div 生成以下默认占位符文本:

$('.editme').editable('savedata.php',{
    placeholder : "txt -  "+$(this),
    }   
);
// outputs: "txt -  [object Object]"

$('.editme').editable('savedata.php',{
placeholder : "txt -  "+this,
}   
);
// outputs: "txt - [object HTMLDocument]"

$('.editme').editable('savedata.php',{
placeholder : "txt -  "+$(this).html(),
}   
);
// outputs: "txt - undefined"

$('.editme').editable('savedata.php',{
placeholder : "txt -  "+$(this).attr('rel'),
}   
);
// outputs: "txt - undefined"

$('.editme').editable('savedata.php',{
placeholder : "txt -  "+this.attr('rel'),
}   
);
// outputs: "" (NULL / EMPTY STRING, must be due to error)
4

1 回答 1

12

不幸的是,当您this在代码中使用它时,它引用的是参数集合,而不是您尝试访问的 jQuery 对象。要完成您想要做的事情,您需要在参数集合之外引用 jQuery 对象。

就像是:

$('.editme').each( function() {
    var rel = $(this).attr('rel');
    $(this).editable('savedata.php', {
        placeholder : "zzz" + rel,
        }       
    );
});
于 2009-08-14T13:17:04.970 回答