我有一个CSS课程
.Foo
{
width:20px;
}
Run Code Online (Sandbox Code Playgroud)
使用Jquery我想在事件上做类似的事情:
$(".Foo").css("width", "40px");
Run Code Online (Sandbox Code Playgroud)
这不起作用.这是错误的方法吗?我应该使用addClass()和removeClass()吗?
编辑:我发现了我的问题.这个命令确实有效.在我的特定应用程序中,在使用命令之前我没有使用类创建元素,因此在创建它们时没有任何更改.
基本上这个命令不会改变CSS样式规则,只改变使用该类的元素.
假设我有一个对象根据函数的返回值分配属性:
var i = 0;
var f = function() { return ++i; }
var foo = {
a:f(),
b:f(),
c:f()
};
Run Code Online (Sandbox Code Playgroud)
是否保证foo.a为1,foo.b为2,foo.c为3?我知道当你迭代一个对象时JS不保证顺序,那么赋值呢?
它是在JS规范中指定的吗?我只是出于教育原因.
谢谢.
Mozilla声称它会在一段时间后删除__proto__(〜2008)并且它仍然在浏览器中.它仍然会被弃用吗?它适用于Opera,(我认为是Safari)和Chrome.我不需要担心IE,所以我很乐意继续使用它.
但是,我不希望我的代码有一天停止工作,所以问我的问题:
__proto__允许死简单继承:
a.__proto__ = {'a':'test'}
Run Code Online (Sandbox Code Playgroud)
无论如何,我能以符合标准的方式复制这个吗?我知道有功能继承,这很丑陋,而且它过于复杂,我只想创建一个原型链.只是想知道是否有任何巫师解决了这个问题.
谢谢
我注意到我在标题中提到的属性在我的页面中显着上升(特别是'(闭包)').
此操作系统和/或浏览器是否受控制?我可以做些什么吗?
究竟是什么(闭包),(数组),(编译代码),(系统)等?
另外,(数组)和'数组'有什么区别?
我正在创建一个新窗口,其中包含用户将要打印的文本.我想做类似的事情:
var new_win = window.open();
$(new_win.document).html("Test");
Run Code Online (Sandbox Code Playgroud) 关于 cookie 和多个浏览器选项卡的规则是什么?
打开两个 Firefox 选项卡后,我在一个 Firefox 选项卡中使用 Javascript 添加了一个设置为将来过期的 cookie。然后,在第二个选项卡中,我通过“document.cookie”打印出 cookie,而我在另一个选项卡中添加的 cookie 不存在。我希望 cookie 在选项卡之间同步。难道不是这样吗?
我还发现,当我在一个选项卡中删除 cookie 时,它不会在另一选项卡中删除。
编辑:这看起来像是 Firefox 中的一个新错误https://bugzilla.mozilla.org/show_bug.cgi?id=1450199
基本上,我希望每次向DOM附加或前置时运行检查,我放入的元素不存在.我正在制作复杂的应用程序,有时会使重复的元素导致事件无法正确触发.
我不希望每次更改DOM时都手动运行此检查,我希望在调用prepend或append函数时自动运行它.在调用函数时是否有可以监听的事件?
在应用程序发布时我不会使用此检查,因为我意识到它可能严重妨碍性能,但在开发期间它将非常有价值.
我测试了Chrome(Linux和Windows),Firefox和Opera.
每次我执行pushState时,Chrome都会进入服务器.它似乎没有以任何方式使用请求,我只是注意到它,因为我正在看日志文件.
这是请求:
16 Mar 2013 01:00 PM ip=127.0.0.1 agent=Mozilla/5.0 (X11; Linux i686) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.172 Safari/537.22 uri=/ T1=0ms T2=0ms T3=0ms
Run Code Online (Sandbox Code Playgroud)
这是代码行:
history.pushState({}, 'my_app', URL);
Run Code Online (Sandbox Code Playgroud)
我知道URI说'/',但这甚至不是正在推送的URL.
Firefox和Opera不这样做,对我来说似乎是不正确的行为.是个bug吗?
我担心的原因是缩放.我不希望用户在浏览我的应用时发出虚拟请求.
异常是什么意思?我该如何解决?我正在为 Ubuntu 使用最新的 Google Chrome。
我想确保我的代码能够QuotaExceededError正确处理IndexedDB的代码,我不希望这样折磨我的SSD。
有什么方法可以在开发人员工具或浏览器设置中设置存储限制(例如5 MB)吗?
我环顾四周,但未能找到这个问题的答案。
我想要做的是打印 Error 对象中可用的所有属性以进行错误报告。这可能是不可能的,但我至少想知道为什么。
我在 Ubuntu 12.04 上的 Chrome 和 Firefox 中尝试了以下操作。
try {
throw new Error('Foo');
} catch (x) {
console.log(Object.keys(x)); // []
for (var i in x) console.log(i); // Prints nothing
}
Run Code Online (Sandbox Code Playgroud) 因为我喜欢将所有源代码保存在一个文件中(每个类),所以我决定使用JQuery对象添加所有样式和CSS,即:
jquery : $('<div/>',
{
id:'Object',
css:{
height:'100%',
width:'69%',
color:'white',
fontWeight:'bold',
textAlign:'center',
backgroundColor:'#02297f',
marginLeft:'.5%',
'float':'left',
overflow:'auto',
borderRadius:'5px'
},
html : 'My JQuery Object'
}),
Run Code Online (Sandbox Code Playgroud)
现在我知道可能会有某种性能影响,但我的问题是多少?有没有其他人这样做?我是否忽略了潜在的问题?
我喜欢这种方式,因为我可以使用对象而不必交叉检查样式表,并使其更有条理.
编辑:这是一个Javascript应用程序,而不是一个网页.因此,禁用Javascript无论如何都会杀死网页.
javascript ×12
jquery ×4
css ×2
cookies ×1
domexception ×1
firefox ×1
html ×1
html5 ×1
indexeddb ×1
memory ×1
popupwindow ×1
pushstate ×1