问题列表 - 第32089页

jQuerys $ .data()与DOM对象属性

我最近需要附加一些动态创建的数据LI elements.在我的第一个例子中,我使用.data()的方式类似

var _newli = $('<li>foobar</li>');
_newli.data('base', 'ball');
// append _newli to an `ul`
Run Code Online (Sandbox Code Playgroud)

那...... 非常慢.这个逻辑发生在一个循环中,很容易长到500多个项目,花了很长时间!有时它甚至打破了javascript执行时间框架.

所以我改为$.data().不知何故,将数据附加到对象上比使用方法调用快8倍.data().所以现在看起来像

var _newli = $('<li>foobar</li>');
$.data(_newli[0], 'base', 'ball');
// append _newli to an `ul`
Run Code Online (Sandbox Code Playgroud)

这确实是更快的,但是仍需要3-4秒(!)来构建我的所有元素(在我的实际代码中,每个元素有6个调用$ .data).

所以我真的很困惑,我问自己为什么要使用.data()或者$.data()无论如何?我可以将我的数据附加到DOM object.所以我做了

var _newli = $('<li>foobar</li>');
_newli[0].base = 'ball';
// append _newli to an `ul`
Run Code Online (Sandbox Code Playgroud)

瞧,让我震惊,那是快得令人难以置信!我无法相信这种情况如此好,没有任何不利之处.所以这实际上是我的问题.到目前为止,我在网上找不到这种技术的任何缺点.有关于您可以使用这种方式创建的循环引用的读取,但AFAIK"仅"在IE上,并且仅在您参考时objects.

有想法的专家吗?

更新

感谢您的好评和帖子.简短更新@patrick dw:

你是对的,我DOM element在使用时通过了底层$.data().它甚至不能与jQuery对象一起使用,至少不如预期的那样.关于使用一个对象并通过它的想法, …

html javascript jquery dom

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

是否有可能不实现从C#中的接口继承的方法?

纵观Project Server 2010的SDK(发现这里在.net反射,我发现一些有趣的事情是让我困惑.

显然,SvcProject.ProjectClient该类ProjectServerServices.dll继承自System.ServiceModel.ClientBase<Project>,这是一个实现System.IDisposable接口的抽象类.但是,当我检查SvcProject.ProjectClient类(不是抽象的)时,没有Dispose方法.是什么赋予了?我认为从接口继承的每个方法都必须在具体的实现中实现(否则接口的用途是什么)..NET Reflector对我说谎吗?微软出于某种原因绕过了这个要求吗?这是怎么回事?

c# implementation interface

0
推荐指数
2
解决办法
496
查看次数

Python Pickle帮助

我不确定为什么这个Pickle示例没有显示两个字典定义.据我所知,"ab +"应该意味着pickle.dat文件被附加到并且可以从中读取.我是整个泡菜概念的新手,但网上的教程似乎不仅仅是初始存储.

import cPickle as pickle

def append_object(d, fname):
    """appends a pickle dump of d to fname"""
    print "append_hash", d, fname
    with open(fname, 'ab') as pickler:
        pickle.dump(d, pickler)

db_file = 'pickle.dat'

cartoon = {}
cartoon['Mouse'] = 'Mickey'
append_object(cartoon, db_file)

cartoon = {}
cartoon['Bird'] = 'Tweety'
append_object(cartoon, db_file)

print 'loading from pickler'
with open(db_file, 'rb') as pickler:
    cartoon = pickle.load(pickler)
print 'loaded', cartoon
Run Code Online (Sandbox Code Playgroud)

理想情况下,我希望使用for循环构建一个字典,然后将key:value对添加到pickle.dat文件,然后清除字典以节省一些RAM.

这里发生了什么?

python pickle

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

在GWT App中停止浏览器脚本缓存

我在客户的机器上部署了一个GWT应用程序.作为一项持续的开发,我们不得不不时发布应用程序的新改进版本.每当我们发布新版本时,我们经常会遇到客户端浏览器缓存旧脚本脚本的问题,并且有一段时间它会表现得很糟糕,因为它尝试使用的数据与它不完全兼容.解决这个问题的最佳方法是什么?目前我必须告诉用户清除他们的浏览器缓存以获得新版本,但是他们不必这样做会很好.

browser gwt caching

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

将字符串转换为日期格式

我的字符串如下:

string s ="20000101";
Run Code Online (Sandbox Code Playgroud)

我想将其转换为日期格式.我该怎么做?

.net c# string date type-conversion

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

在重复结构中使用正则表达式反向引用 ({N})

我需要匹配一个以该字符串可接受长度为前缀的字符串。

例如,{3}abc将匹配,因为该abc部分是3字符长。{3}abcd会因为失败abcd 3长的字符。

我会使用^\{(\d+)\}.{\1}$N在花括号内捕获一个数字,然后是任何字符N时间),但似乎重复构造中的值必须是一个数字(或者至少,它不会接受反向引用)。

例如,在 JavaScript 中这会返回 true:

/^\{(\d+)\}.{3}$/.test("{3}abc")

虽然这返回假:

/^\{(\d+)\}.{\1}$/.test("{3}abc")

这是否可以在单个正则表达式中完成,或者我是否需要将其分为两个阶段,例如:

/^\{(\d+)\}/.test("{3}abc") && RegExp("^\\{" + RegExp.$1 + "\\}.{" + RegExp.$1 + "}$").test("{3}abc")

regex

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

枚举AS3对象的属性,该属性可能是动态的也可能不是动态的

为了发送POST请求,我需要枚举给定对象的所有属性.该对象可能是动态的也可能不是动态的.我正在寻找最优雅的解决方案.这是我到目前为止所得到的:

    function createURLVariables(params:Object):URLVariables
    {
        // Workaround: Flash Player performs a GET if no params are passed
        params ||= {forcePost: true};
        var vars:URLVariables = new URLVariables();
        var propertyName:String;
        var propertyList:XMLList = describeType(params)..variable;
        var propertyListLength:int = propertyList.length();
        // A dynamic object won't return properties in this fashion
        if (propertyListLength > 0)
        {
            for (var i:int; i < propertyListLength; i++)
            {
                propertyName = propertyList[i].@name;
                vars[propertyName] = params[propertyName];
            }
        }
        else
        {
            for (propertyName in params)
                vars[propertyName] = params[propertyName];
        }
        return vars;
    }
Run Code Online (Sandbox Code Playgroud)

一个潜在的问题是,这不会返回getter(访问器)的属性.

apache-flex flash post properties actionscript-3

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

如何摆脱CRM 4.0"new_"前缀

每当我在CRM中创建自定义实体时,类型都以"new_"为前缀.任何属性都是如此.如何修改/删除?

customization dynamics-crm

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

Google Maps fitBounds无法正常运行

我的googlemaps fitBounds函数有问题.

for (var i = 0; i < countries.length; i++) {
 var country = countries[i];
 var latlng = new google.maps.LatLng(parseFloat(country.lat), parseFloat(country.lng));
 mapBounds.extend(latlng); 
}

map.fitBounds(mapBounds);
Run Code Online (Sandbox Code Playgroud)

某些图标将显示在视口/可见区域之外.

想法?

提前致谢.

javascript google-maps google-maps-api-3 fitbounds

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

从单个生产服务器转移到2个Django物理服务器(前端和后端)?

我目前有一个不断增长的Django生产服务器,它上面运行着所有的前端和后端服务.我可以继续增长该服务器越来越大,但我想尝试将主服务器作为我的后端服务器,并创建多个前端服务器,运行apache/nginx并远程连接到主生产后端服务器.

我现在正在使用slicehost,所以我不认为我可以从内部网上运行多个服务器中受益.我该怎么做呢?

django

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