小编Ada*_*son的帖子

如何使用JavaScript或jQuery克隆HTML元素的样式对象?

我正在尝试克隆元素的样式对象.这应该允许我在更改后重置所述元素的样式.

例如:

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)

javascript css jquery

6
推荐指数
2
解决办法
3714
查看次数

如何设置全局vim“项目根”路径

当我在 vim 中工作时,我通常会同时在屏幕上显示多个缓冲区,需要在它们之间切换并大量打开新文件。我已经安装了 Command-T 插件以促进快速文件切换,但我遇到了一些问题。

每当我按下 Command-T 时,它只会显示我当前正在编辑的文件所在文件夹(和子文件夹)中的文件。

我希望它显示我项目中的所有文件,即:

Project Folder:
~/project1/

Current Buffer:
~/project1/front/js/file1.js
Run Code Online (Sandbox Code Playgroud)

当我在缓冲区中按 Command+T 时,我希望它显示从项目文件夹开始的文件。

谢谢。

vim path project

6
推荐指数
1
解决办法
4734
查看次数

使用setPath观察对ember对象的所有更改

在emberJS中,我有一个名为style的对象属性的模型.我可以使用它来设置它的属性test.setPath('style.a').我正在尝试观察样式对象,但我的观察回调没有触发.

你可以在这里看到代码.

javascript ember.js

1
推荐指数
1
解决办法
1382
查看次数

标签 统计

javascript ×2

css ×1

ember.js ×1

jquery ×1

path ×1

project ×1

vim ×1