Questions tagged «javascript»

有关在ECMAScript(JavaScript / JS)及其各种方言/实现(不包括ActionScript)中进行编程的问题。此标记很少单独使用,但最常与标记[node.js],[jquery],[json]和[html]关联。


6
延迟使用Javascript
我需要在Javascript代码中添加大约100毫秒的延迟,但是我不想使用对象的setTimeout功能,window也不想使用繁忙的循环。有没有人有什么建议?
73 javascript 

4
在querySelector中:如何获取第一个元素并获取最后一个元素?dom使用什么遍历顺序?
在div中,具有具有attribute的元素(不一定是第二代)move_id。 首先,想要获取set的第一个和最后一个元素的最直接方法 尝试通过以下方式获得第一个和最后一个: var first = div.querySelector('[move_id]:first'); var last = div.querySelector('[move_id]:last'); 之所以炸弹,是因为:first和:last是我的一厢情愿(?) 无法使用Array方法,querySelectorAll因为NodeList它不是Array: var first = (div.querySelectorAll('[move_id]'))[0]; var last = (div.querySelectorAll('[move_id'])).pop(); 这个炸弹因为NodeList没有方法pop() (是的,可以在NodeList顶部使用Array方法: var first = div.querySelector('[move_id]'); var last = Array.prototype.pop.call(div.querySelectorAll('[move_id'])); 这有效,并且是我现在正在使用的功能,但我认为我必须更直接地缺少一些东西) 其次,需要验证元素是否按照http://en.wikipedia.org/wiki/Tree_traversal按预售深度优先遍历列出
73 javascript  dom  html 



3
基于if-else,switch或map的调节的性能
我想知道以下JavaScript中条件结构实现的性能。 方法1: if(id==="camelCase"){ window.location.href = "http://www.thecamelcase.com"; }else if (id==="jsFiddle"){ window.location.href = "http://jsfiddle.net/"; }else if (id==="cricInfo"){ window.location.href = "http://cricinfo.com/"; }else if (id==="apple"){ window.location.href = "http://apple.com/"; }else if (id==="yahoo"){ window.location.href = "http://yahoo.com/"; } 方法2: switch (id) { case 'camelCase': window.location.href = "http://www.thecamelcase.com"; break; case 'jsFiddle': window.location.href = "http://www.jsfiddle.net"; break; case 'cricInfo': window.location.href …


4
Angular2测试:ComponentFixture中的DebugElement和NativeElement对象之间有什么区别?
我目前正在汇总一些最佳实践,以在组件级别上测试Angular 2应用程序。 我看过一些教程,查询灯具的NativeElement对象以获取选择器等,例如 it('should render "Hello World!" after click', async(() => { builder.createAsync(HelloWorld).then((fixture: ComponentFixture<HelloWorld>) => { fixture.detectChanges(); let el = fixture.nativeElement; el.querySelector('h1').click(); fixture.detectChanges(); expect(el.querySelector('h1')).toHaveText('Hello World!'); }); })); 运行代码段隐藏结果展开摘要 但是,在juliemr的Angular 2测试种子中,她通过父DebugElement对象访问NativeElement。 it('should render "Hello World!" after click', async(() => { builder.createAsync(HelloWorld).then((fixture: ComponentFixture<HelloWorld>) => { fixture.detectChanges(); let compiled = fixture.debugElement.nativeElement; compiled.querySelector('h1').click(); fixture.detectChanges(); …

5
使用Javascript替换包括头在内的整个页面
我有一个传递字符串的Javascript函数。传递的字符串是整个网页,包括标题。我需要Javascript才能用新内容替换整个当前页面,标题和所有内容。 考虑以下HTML文件: <html> <head> <script language="Javascript"> <!-- var newContent='<html><head><script language="Javascript">function Hi() {alert("Goodbye World");}</script></head><body onload="Hi();">New Content</body></html>'; function ReplaceContent(NC) { document.body.innerHTML=NC; } function Hi() { alert("Hello World"); ReplaceContent(newContent); } --> </script> </head> <body onload="Hi();"> Original Content </body> </html> 在这种情况下,传递的字符串为: <html><head><script language="Javascript">function Hi() {alert("Goodbye World");}</script></head><body onload="Hi();">New Content</body></html> 但是,当然,由于“ ReplaceContent”功能仅替换正文,而不替换标题,因此我永远不会收到“ Goodbye World”警报。 忽略“为什么要这么做”,如何动态替换整个页面,包括标题和javascript函数? 请记住,“源” …
73 javascript  html 

10
React-从DOM元素获取组件进行调试
为了在控制台中进行调试,React中是否有任何机制可以使用DOM元素实例来获取支持的React组件? 先前已经在生产代码中使用此问题时询问过此问题。但是,我的重点是用于调试目的的开发版本。 我熟悉React的Chrome调试扩展,但是并非在所有浏览器中都可用。将DOM资源管理器和控制台结合使用,可以轻松地使用“ $ 0”快捷方式来访问有关突出显示的DOM元素的信息。 我想在调试控制台中编写如下代码:getComponentFromElement($ 0).props 即使在React开发构建中,也没有机制可以使用元素的ReactId来获取组件吗?

4
在Javascript中,即使从不抛出异常,使用try-catch块是否昂贵?
当没有任何异常抛出时,使用多个try-catch块是否“缓慢”?我的问题与这一问题相同,但对于JavaScript。 假设我有20个在其中具有try-catch块的函数,以及另一个函数,在这20个函数中的每个函数都调用时,它们都不抛出异常。由于有try-catch块,我的代码执行速度会变慢还是变差?

6
按对象键值对javascript中的数组进行排序
您将如何根据距离对带有这些对象的数组进行排序。这样您就可以将对象从最小距离到最大距离进行排序? Object { distance=3388, duration="6 mins", from="Lenchen Ave, Centurion 0046, South Africa", more...} Object { distance=13564, duration="12 mins", from="Lenchen Ave, Centurion 0046, South Africa", more...} Object { distance=4046, duration="6 mins", from="Lenchen Ave, Centurion 0046, South Africa", more...} Object { distance=11970, duration="17 mins", from="Lenchen Ave, Centurion 0046, South Africa", more...}

15
如何检测window.print()完成
在我的应用程序中,我尝试为用户打印出凭证页面,如下所示: var htm ="<div>Voucher Details</div>"; $('#divprint').html(htm); window.setTimeout('window.print()',2000); “ divprint”是div我的页面中的,用于存储有关凭证的信息。 它可以工作,并弹出打印页面。但是,一旦用户在浏览器的弹出式打印对话框中单击“ print”或“ close”,我就希望推进该应用程序。 例如,我想在关闭弹出窗口后将用户重定向到另一个页面: window.application.directtoantherpage();//a function which direct user to other page 如何确定关闭弹出式打印窗口或完成打印的时间?

9
AngularJS中的ScrollTo函数
我正在尝试快速导航以使其正常工作。它漂浮在侧面。当他们单击链接时,会将他们带到页面上的该ID。我正在遵循Treehouse的本指南。这就是我要滚动的内容: $("#quickNav a").click(function(){ var quickNavId = $(this).attr("href"); $("html, body").animate({scrollTop: $(location).offset().top}, "slow"); return false; }); 我最初将其放置在之前</body>。但是我似乎遇到了一种竞争情况,在quickNav编译之前就已经触发了(它ng-hide放在上面,不确定是不是引起了它-但它在DOM内)。 如果我在控制台中运行该代码块,则滚动将按预期进行。 我认为将其移入控制器会更有效-或更可能在指令中。但是我没有实现这一点的运气。如何获得此代码块以与AngularJS一起使用?

8
JShint中的ES6-.jshintrc具有esversion,但仍收到警告(使用atom)
我正在使用atom,并且我尝试了几种不同的jshint软件包,它们都给出警告,内容为 "template literal syntax' is only available in ES6 (use 'esversion: 6')" 我创建了一个顶级.jshintrc文件(在根目录),并添加了以下json: { "esversion":6 } 但是,它仍然抛出相同的错误。任何想法如何解决。我已经包含了指向JSHint选项页面的链接。我想开始使用ES6语法,但希望不要有额外的警告。 谢谢SO社区!

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.