我正在尝试克隆元素的样式对象.这应该允许我在更改后重置所述元素的样式.
例如:
el.style.left; // 50px
curr_style.left; // 50px;
/*
Modify the elements style.
The cloned style should still hold the original properties from when it was cloned.
*/
el.style.left = '20px';
curr_style.left // should still return 50px.
Run Code Online (Sandbox Code Playgroud)
我首先尝试通过为el.style的值赋值来复制它.不幸的是,这通过引用指向它,并且对样式的任何更改都反映在克隆对象中.
我的另一个尝试是使用jQuery的对象扩展方法来创建一个副本:
var curr_style = $.extend( {}, el.style );
Run Code Online (Sandbox Code Playgroud)
这似乎不起作用curr_style.left等返回undefined.
任何帮助,将不胜感激!
我最终这样做是为了检索每个属性:(基于@Raynos的建议)
$.fn.getStyle = function(){
var style,
el = this[0];
// Fallbacks for old browsers.
if (window.getComputedStyle) {
style = window.getComputedStyle( el );
} else if (el.currentStyle) {
style = $.extend(true, {}, …Run Code Online (Sandbox Code Playgroud) 当我在 vim 中工作时,我通常会同时在屏幕上显示多个缓冲区,需要在它们之间切换并大量打开新文件。我已经安装了 Command-T 插件以促进快速文件切换,但我遇到了一些问题。
每当我按下 Command-T 时,它只会显示我当前正在编辑的文件所在文件夹(和子文件夹)中的文件。
我希望它显示我项目中的所有文件,即:
Project Folder:
~/project1/
Current Buffer:
~/project1/front/js/file1.js
Run Code Online (Sandbox Code Playgroud)
当我在缓冲区中按 Command+T 时,我希望它显示从项目文件夹开始的文件。
谢谢。
在emberJS中,我有一个名为style的对象属性的模型.我可以使用它来设置它的属性test.setPath('style.a').我正在尝试观察样式对象,但我的观察回调没有触发.
你可以在这里看到代码.