mik*_*eum 4 jquery this jeditable
这是Jeditable的延续 :如何根据dom元素属性设置参数
请在这里回复..这是我的'真实'账户..
我正在尝试将不同的参数值分配给我已启用jQuery插件'Jeditable'的不同div.我不能让它工作,我确信它的东西很简单..但我无法弄清楚..
我如何实现它?
给出以下DOM元素:
<div class="editme" id="theone" rel="test"></div>
Run Code Online (Sandbox Code Playgroud)
这些不同的片段为上面的空div生成以下dafault占位符文本:
$('.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)
Run Code Online (Sandbox Code Playgroud)
Chr*_*tal 12
不幸的是,当您this在代码中使用时,它会引用参数集合而不是您尝试访问的jQuery对象.要完成您要执行的操作,您需要在参数集合之外引用jQuery对象.
就像是:
$('.editme').each( function() {
var rel = $(this).attr('rel');
$(this).editable('savedata.php', {
placeholder : "zzz" + rel,
}
);
});
Run Code Online (Sandbox Code Playgroud)