Questions tagged «javascript»

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



6
为什么JS代码“ var a = document.querySelector('a [data-a = 1]');”?导致错误?
我在DOM中有一个元素: <a href="#" data-a="1">Link</a> 我想通过其HTML5自定义数据属性获取此元素data-a。所以我写了JS代码: var a = document.querySelector('a[data-a=1]'); 但是此代码不起作用,并且在浏览器的控制台中出现错误。(我测试了Chrome和Firefox。) JS代码var a = document.querySelector('a[data-a=a]');不会导致错误。因此,我认为问题在于HTML5的JS APIdocument.querySelector不支持在HTML5自定义数据属性中查找数字值。 这是浏览器实现错误还是HTML5规范相关document.querySelector? 然后,我在http://validator.w3.org/上测试了以下代码: <!DOCTYPE html> <meta charset="utf-8"> <title>An HTML Document</title> <a href="#" data-a="1">Link</a> 他们已通过验证。由于这些HTML5代码已经过验证。我们应该可以使用HTML5的JS APIdocument.querySelector通过其自定义数据属性来查找此锚元素。但是事实是我出错了。 HTML5对HTML5 JS API的规范是否document.querySelector表示该方法无法查找带有数字值的HTML5数据自定义属性?(需要HTML5规范源。)

3
如何从另一个Node.js脚本中运行Node.js脚本
我有一个名为的独立Node脚本compile.js。它位于小型Express应用程序的主文件夹中。 有时我会从命令行运行compile.js脚本。在其他情况下,我希望它可以由Express应用程序执行。 这两个脚本都从中加载配置数据package.json。Compile.js目前不导出任何方法。 加载并执行此文件的最佳方法是什么?我已经看过了eval(),vm.RunInNewContext和require,但不知道什么是正确的做法。 谢谢你的帮助!!

28
JavaScript数字拆分成单个数字
我正在尝试解决一个数学问题,在该数学问题中,我将数字取为45或111,然后将数字拆分为单独的数字,例如4 5或1 1 1。然后,我将每个数字保存到var中以运行方法。有人知道如何将数字拆分为单个数字吗? 例如,我有一个在数组上运行的循环: for (var i = 0; i < range.length; i++) { var n = range[i]; } 对于每个数字,我想拆分其数字并将其加在一起吗?
74 javascript  math 

4
如何在javascript中获取HTML元素的样式值?
我正在寻找一种从样式标签中设置了样式的元素中检索样式的方法。 <style> #box {width: 100px;} </style> 在身体里 <div id="box"></div> 我正在寻找不使用库的直接javascript。 我尝试了以下操作,但始终收到空白: alert (document.getElementById("box").style.width); alert (document.getElementById("box").style.getPropertyValue("width")); 我注意到,如果我已使用javascript设置了样式,但无法使用样式标签,则只能使用以上内容。


18
将返回的JSON对象属性转换为(最低优先级)camelCase
我有从API返回的JSON,如下所示: Contacts: [{ GivenName: "Matt", FamilyName: "Berry" }] 为了使其与我的代码风格(camelCase-小写首字母)保持一致,我想对数组进行转换以产生以下内容: contacts: [{ givenName: "Matt", familyName: "Berry" }] 最简单/最好的方法是什么?创建一个新的Contact对象并遍历返回数组中的所有联系人? var jsonContacts = json["Contacts"], contacts= []; _.each(jsonContacts , function(item){ var contact = new Contact( item.GivenName, item.FamilyName ); contacts.push(contact); }); 还是可以映射原始数组或以某种方式对其进行转换?

5
如何创建Firebase Web user.reauthenticateWithCredential()方法所需的“凭据”对象?
新文档中的(不清楚)示例: var user = firebase.auth().currentUser; var credential; // Prompt the user to re-provide their sign-in credentials user.reauthenticateWithCredential(credential).then(function() { 我应该如何创建该credential对象? 我试过了: reauthenticateWithCredential(email, password) (类似于登录方法) reauthenticateWithCredential({ email, password }) (文档仅提及一个参数) 没有运气 :( PS:我不算在新文档中搜索相关信息所浪费的时间...我非常想念神话般的firebase.com文档,但想切换到v3或更高版本以使用firebase.storage ...



7
防止IE11在Angular 2中缓存GET调用
我有一个休息端点,可以在GET调用中返回列表。我也有一个POST端点来添加新项目,而DELETE来删除它们。这在Firefox和Chrome中有效,而POST和DELETE在IE11中有效。但是,IE11中的GET仅在页面的初始加载时有效。刷新将返回缓存的数据。我已经在Angular 1中看到有关此行为的帖子,但对于Angular 2(发布候选版本1)则一无所获。

6
使用handlebars.js模板以数组中的最后一项为条件
我将handlebars.js用于模板引擎,并希望仅当条件段是模板配置对象中包含的数组的最后一项时才显示条件段。 { columns: [{<obj>},{<obj>},{<obj>},{<obj>},{<obj>}] } 我已经拉了一个助手来做一些相等/更大/小于的比较,并且已经成功地通过这种方式识别了初始项目,但是没有运气来访问目标数组的长度。 Handlebars.registerHelper('compare', function(lvalue, rvalue, options) {...}) "{{#each_with_index columns}}"+ "<div class='{{#equal index 0}} first{{/equal}}{{#equal index ../columns.length()}} last{{/equal}}'>"+ "</div>"+ "{{/each_with_index}}" 有谁知道捷径,不同的方法以及一些车把的优点,这些使我不必再进入handlebars.js引擎来确定最佳路线?

3
ng-options中的键/值对
我需要将关联数组用作select使用AngularJS的选项的数据源。 是否可以使用这样的数组? { "key1": "val1", "key2": "val2", "key3": "val3", ... } 并得到这样的东西: <select> <option value="key1">val1</option> <option value="key2">val2</option> <option value="key3">val3</option> ... </select> 我阅读了docs,但是我不明白如何实现这一目标。

9
JavaScript吸管(鼠标光标下方像素的告诉颜色)
我正在寻找“吸管”工具,该工具为CMS提供JavaScript鼠标光标所位于的像素的十六进制值。 对于Firefox,有出色的ColorZilla扩展可以做到这一点。但是,它当然只是FF,我真的很想随同CMS一起提供该工具。 荷兰开发人员有一个非常聪明的主意,就是结合使用Ajax和PHPimagecolorat()来找出图像上的Pixel颜色。但这限制了我可以访问服务器端的图像的范围,而我真的梦想着有一个通用工具。 我将使用其中一种方法,但更希望使用跨浏览器,基于Javascript或Flash的方式,这种方式不需要服务器端摆弄,也不需要安装扩展程序。 我对ColorZilla可以做的任何IE特定解决方案也很感兴趣-我可以只支持IE和FF,尽管跨浏览器解决方案当然是理想的。

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.