小编Joh*_* B.的帖子

动态设置嵌套对象的属性

我有一个对象,可以是任意数量的级别,可以有任何现有的属性.例如:

var obj = {
    db: {
        mongodb: {
            host: 'localhost'
        }
    }
};
Run Code Online (Sandbox Code Playgroud)

在那我想设置(或覆盖)属性,如下所示:

set('db.mongodb.user', 'root');
// or:
set('foo.bar', 'baz');
Run Code Online (Sandbox Code Playgroud)

属性字符串可以有任何深度,值可以是任何类型/东西.
如果属性键已存在,则不需要合并作为值的对象和数组.

上一个示例将生成以下对象:

var obj = {
    db: {
        mongodb: {
            host: 'localhost',
            user: 'root'
        }
    },
    foo: {
        bar: baz
    }
};
Run Code Online (Sandbox Code Playgroud)

我怎么才能实现这样的功能呢?

javascript ecmascript-5

59
推荐指数
9
解决办法
5万
查看次数

邻接列表中的树结构

我试图从具有父ID的平面数组生成分层树对象.

// `parent` represents an ID and not the nesting level.
var flat = [
    { id: 1, name: "Business", parent: 0 },
    { id: 2, name: "Management", parent: 1 },
    { id: 3, name: "Leadership", parent: 2 },
    { id: 4, name: "Finance", parent: 1 },
    { id: 5, name: "Fiction", parent: 0 },
    { id: 6, name: "Accounting", parent: 1 },
    { id: 7, name: "Project Management", parent: 2  }
];
Run Code Online (Sandbox Code Playgroud)

最终的树对象应如下所示:

{ 
    id: 1, 
    name: "Business", 
    children: …
Run Code Online (Sandbox Code Playgroud)

javascript tree adjacency-list

13
推荐指数
2
解决办法
3650
查看次数

检测背景大小的支持:封面

什么是检测CSS3 背景大小支持的保存方式:封面,特别是在IE <9?

以下测试在IE <9中返回误报,因为它实际上设置了背景大小涵盖:

div.style.backgroundSize = 'cover';
Run Code Online (Sandbox Code Playgroud)

测试时我得到的唯一真实结果:

if ('backgroundSize' in div.style)
Run Code Online (Sandbox Code Playgroud)

但根据现场http://www.standardista.com/css3/css3-background-properties/#bg11,IE 6/7/8应该返回汽车,仅覆盖含有不被支持.

编辑:

我想使用我自己的解决方案,但我检查了Modernizr使用代码.似乎他们使用相同的技术,在IE <9中设置假阳性结果:设置backgroundSize ='cover',然后检查style.backgroundSize =='cover'.

看我的JSFiddle.

javascript jquery css3

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

为每个响应添加标头

如何"自动"为Silex的每个响应添加标题?

到目前为止,我必须遵循每个回复:

$app->post('/photos'), function () use ($app) {
    return $app->json(array('status' => 'success'), 200, array('Access-Control-Allow-Origin' => '*'));
});
Run Code Online (Sandbox Code Playgroud)

相反,我想使用before过滤器Access-Control-Allow-Origin: *自动发送每个请求:

// Before
$app->before(function () use ($app) {
    $response = new Response();
    $response->headers->set('Access-Control-Allow-Origin', '*');
});

// Route
$app->post('/photos'), function () use ($app) {
    return $app->json(array('status' => 'success')); // <-- Not working, because headers aren't added yet.
});
Run Code Online (Sandbox Code Playgroud)

cors symfony silex

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

无法运行包含Facebook SDK

我试图运行我的应用程序,我的应用程序与我的项目在IntelliJ IDEA中包含的FacebookSDK for Android.

使用基本的Android样板,一切都可以构建并运行良好.但只要我尝试了Facebook SDK添加到我的项目在解释这个帖子,我得到多个错误:

java: /Users/me/Projects/Android/facebook/src/com/facebook/widget/LoginButton.java:25: package android.support.v4.app does not exist

java: /Users/me/Projects/Android/facebook/src/com/facebook/widget/LoginButton.java:33:
cannot find symbol
symbol  : class R
location: package com.facebook.android
Run Code Online (Sandbox Code Playgroud)

项目细节

详细截图:

在此输入图像描述

在此输入图像描述

在此输入图像描述

为什么这样,我该如何解决?

下载:您可以在此处下载测试项目.

android intellij-idea facebook-android-sdk

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

将选定/找到的元素存储在变量中会增加性能吗?

我创建了一个jQuery插件来修改我的导航.不幸的是我要访问和修改几乎所有的子元素,例如<ul>,<li>,<a>等等.那些元素需要一到四次.

我应该将它们全部存储在变量或者我应该访问他们喜欢$('.my-nav').find('li')$('.my-nav').find('li')需要的时候?

对于25行代码,有5个变量似乎浪费了内存.但我不知道这是否是一个可以接受的权衡,以获得更高的性能.

我创建了一个小提琴来说明其含义:http://jsfiddle.net/Yj35Q/2/

performance jquery jquery-selectors

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

在Outlook 2007/2010/2013和Gmail中重复背景图像

我有一个<td>动态高度但固定宽度的HTML电子邮件.

如何将(垂直)重复背景图像添加到在Outlook 2007,2010,2013和Gmail中工作的此单元格?

该单元格中没有任何内容,因为它"仅仅"用于视觉目的.但它紧挨着我的内容单元格,因此需要在高度上保持动态.

html css email outlook-2007

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

设置当前附加元素的 ID

我有一个<script type="text/template>用于创建新元素的内部 HTML。\n我如何另外向这些创建的元素添加 ID?

\n\n
<script type="text/template" id="element-template">\n    <div class="element-container">\n        <p>Template</p>\n    </div>\n</script>\n
Run Code Online (Sandbox Code Playgroud)\n\n

期望的结果:

\n\n
<div id="my-element" class="element-container">\n   <p>Template</p>\n</div>\n
Run Code Online (Sandbox Code Playgroud)\n\n

以下代码有效,但我不想使用find(\'.element-container\')在父级上使用,因为该类将来可能会发生变化:

\n\n
var template = $(\'#element-template\').html();\n$(\'#output\').append(template).parent().find(\'.element-container\').attr(\'id\', \'my-element\');\xe2\x80\x8b\n
Run Code Online (Sandbox Code Playgroud)\n\n

使用可以在这里找到一个JSFiddle: http: //jsfiddle.net/RZrkB/1/

\n

jquery

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