Questions tagged «javascript»

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

10
脚本标记中的HTML注释是最佳实践吗?[关闭]
已关闭。这个问题是基于观点的。它当前不接受答案。 想改善这个问题吗?更新问题,以便通过编辑此帖子以事实和引用的形式回答。 4年前关闭。 改善这个问题 在我必须使用的嵌入式JavaScript中,以下做法相当普遍: <script type="text/javascript"> <!-- // Code goes here //--> </script> 我知道关键是要防止与JavaScript不兼容的浏览器呈现源代码,但这是否仍是当今的最佳做法?当今使用的绝大多数浏览器都可以解释JavaScript。即使是现代移动设备也通常不会遇到麻烦。 至于“为什么不呢?” 问题:我最近不得不花费几个小时来调试一个问题,该问题是有人在深埋在某些页面中的脚本标签末尾的“->”前面没有了“ //”,这导致了神秘的JavaScript错误。 你是做什么?这仍然被认为是“最佳实践”吗?
97 javascript  html 

14
如何从网页将表格导出到Excel [关闭]
已关闭。这个问题是基于观点的。它当前不接受答案。 想改善这个问题吗?更新问题,以便通过编辑此帖子以事实和引用的形式回答。 6年前关闭。 改善这个问题 如何从网页将表格导出到Excel。我希望导出包含所有格式和颜色。

7
变量赋值如何在JavaScript中起作用?
因此,前几天我在玩,目的是确切地了解批量分配在JavaScript中的工作方式。 首先,我在控制台中尝试了以下示例: a = b = {}; a.foo = 'bar'; console.log(b.foo); 结果是在警报中显示“栏”。这很公平,a而且b实际上只是同一对象的别名。然后我想,如何使这个例子更简单。 a = b = 'foo'; a = 'bar'; console.log(b); 那几乎是同一回事,不是吗?好吧,这次返回的结果与我从第一个示例的行为所期望的foo不bar一样。 为什么会这样? 注意:可以使用以下代码进一步简化此示例: a = {}; b = a; a.foo = 'bar'; console.log(b.foo); a = 'foo'; b = a; a = 'bar'; console.log(b); 运行代码段隐藏结果展开摘要 (我怀疑JavaScript与哈希将对字符串和整数之类的基元的处理方式不同。哈希返回一个指针,而“核心”基元返回其自身的副本)
97 javascript 

3
骨干。查看“ el”混乱
应该如何el处理视图?必须设置它,否则事件不会触发(请参阅此处)。 但是它应该是页面上已经存在的元素吗?在我的应用程序中,我将(jQuery模板)模板渲染到Fancybox中。el在那种情况下应该是什么?

3
“然后”在CasperJS中真正意味着什么
我正在使用CasperJS通过网站自动执行一系列单击,完成的表单,解析数据等操作。 Casper似乎以then语句的形式组织成一系列预设步骤(请参见此处的示例:http : //casperjs.org/quickstart.html),但尚不清楚是什么触发了下一条语句的实际运行。 例如,是否then等待所有待处理的请求完成?是否injectJS算作待处理请求?如果我有一条then嵌套的语句-链接到一条open语句的末尾,会发生什么? casper.thenOpen('http://example.com/list', function(){ casper.page.injectJs('/libs/jquery.js'); casper.evaluate(function(){ var id = jQuery("span:contains('"+itemName+"')").closest("tr").find("input:first").val(); casper.open("http://example.com/show/"+id); //what if 'then' was added here? }); }); casper.then(function(){ //parse the 'show' page }); 我正在寻找有关流在CasperJS中如何工作的技术解释。我的具体问题是我的最后一条then语句(以上)在我的casper.open语句之前运行,我不知道为什么。

8
如何创建也在Bootstrap 3中扩展的响应式图像
我目前正在使用Twitter Bootstrap 3,并且在创建响应图像时遇到了问题。我上过img-responsive课。但是图像尺寸没有扩大。如果我使用width:100%而不是,max-width:100%那么它运行完美。问题出在哪里?这是我的代码: <div class="col-md-4 col-sm-4 col-xs-12 "> <div class="product"> <div class="product-img "> <img class="img-responsive" src="img/show1.png" alt="" /> </div> </div> </div>

10
使用ng-click在angularJs中添加和删除类
我正在尝试工作如何使用ngClick添加类。我已经上传了我的代码到plunker 这里点击。查看角度文档,我不知道应该怎么做。以下是我的代码片段。有人可以指引我正确的方向 <div ng-show="isVisible" ng-class="{'selected': $index==selectedIndex}" class="block"></div> 控制者 var app = angular.module("MyApp", []); app.controller("subNavController", function ($scope){ $scope.toggle = function (){ $scope.isVisible = ! $scope.isVisible; }; $scope.isVisible = false; });

7
如何在forEach循环中从数组中删除元素?
我正在尝试删除一个数组中的元素 forEach循环中,但遇到的标准解决方案遇到了麻烦。 这是我目前正在尝试的方法: review.forEach(function(p){ if(p === '\u2022 \u2022 \u2022'){ console.log('YippeeeE!!!!!!!!!!!!!!!!') review.splice(p, 1); } }); 我知道它正在进入,if因为我YippeeeeeE!!!!!!!!!!!!!在控制台中看到了。 我的问题:我知道我的for循环和if逻辑是正确的,但是我尝试从数组中删除当前元素失败。 更新: 尝试了Xotic750的答案,但该元素仍未被删除: 这是我的代码中的函数: review.forEach(function (item, index, object) { if (item === '\u2022 \u2022 \u2022') { console.log('YippeeeE!!!!!!!!!!!!!!!!') object.splice(index, 1); } console.log('[' + item + ']'); }); 以下是仍未删除数组的输出: [Scott McNeil] [reviewed 4 months ago] [ Mitsubishi …


4
如何在Chrome开发者工具中转到特定文件?
我正在使用沉重的前端方法开发Web应用程序。通过使用Dojo和AMD-way,我目前拥有测试屏幕,可以轻松加载一百多个不同的javascript文件。 当我想调试任何特定问题或验证是否看到特定文件的旧版本时,我发现在Chrome开发者工具的“源”标签中确实找不到文件。 我可以采取任何快捷方式或操作来输入文件名,然后转到该文件的源吗?

5
<script>标签与<script type ='text / javascript'>标签
我只是想知道,两者之间有什么区别 &lt;script&gt; 和 &lt;script type = 'text/javascript'&gt; 不同的Web服务器是否不同? 例如,(我知道提供来自w3schools的链接是不正确的,但是请看) http://www.w3schools.com/js/tryit.asp?filename=tryjs_myfirst 使用chrome,我参观了w3schools,我意识到&lt;script&gt;标签是我所需要的。 但是,当我进行离线javascript测试时,我意识到我需要 &lt;script type = 'text/javascript'&gt; 标签。为什么会这样呢?
97 javascript  html 

2
我应该使用document.createDocumentFragment还是document.createElement
我正在阅读有关文档片段和DOM重排的信息,想知道它们与DOM中不存在什么document.createDocumentFragment区别,document.createElement直到我将它们附加到DOM元素上为止。 我做了一个测试(如下),所有这些都花费了完全相同的时间(约95ms)。猜测可能是由于没有将样式应用于任何元素,因此可能没有重排。 无论如何,基于下面的示例,为什么在插入DOM时我应该使用createDocumentFragment而不是为什么createElement,两者之间的区别是什么? var htmz = "&lt;ul&gt;"; for (var i = 0; i &lt; 2001; i++) { htmz += '&lt;li&gt;&lt;a href="#"&gt;link ' + i + '&lt;/a&gt;&lt;/li&gt;'; } htmz += '&lt;ul&gt;'; //createDocumentFragment console.time('first'); var div = document.createElement("div"); div.innerHTML = htmz; var fragment = document.createDocumentFragment(); while (div.firstChild) { fragment.appendChild(div.firstChild); } $('#first').append(fragment); console.timeEnd('first'); …
97 javascript  dom 

15
用jQuery创建表-追加
我在div页上有: &lt;div id="here_table"&gt;&lt;/div&gt; 并在jQuery中: for(i=0;i&lt;3;i++){ $('#here_table').append( 'result' + i ); } 这为我产生了: &lt;div id="here_table"&gt; result1 result2 result3 etc &lt;/div&gt; 我想在表中收到此信息: &lt;div id="here_table"&gt; &lt;table&gt; &lt;tr&gt;&lt;td&gt;result1&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt;&lt;td&gt;result2&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt;&lt;td&gt;result3&lt;/td&gt;&lt;/tr&gt; &lt;/table&gt; &lt;/div&gt; 我在做: $('#here_table').append( '&lt;table&gt;' ); for(i=0;i&lt;3;i++){ $('#here_table').append( '&lt;tr&gt;&lt;td&gt;' + 'result' + i + '&lt;/td&gt;&lt;/tr&gt;' ); } $('#here_table').append( '&lt;/table&gt;' ); 但这为我产生了: &lt;div id="here_table"&gt; &lt;table&gt; …

2
在选择标签(角度2)上检测对ngModel的更改
我试图发现一个变化ngModel的&lt;select&gt;标签。在Angular 1.x中,我们可以使用$watchon ngModel或使用来解决此问题ngChange,但我尚未了解如何检测ngModelAngular 2中的更改。 完整示例:http : //plnkr.co/edit/9c9oKH1tjDDb67zdKmr9?p=info import {Component, View, Input, } from 'angular2/core'; import {FORM_DIRECTIVES} from 'angular2/common'; @Component({ selector: 'my-dropdown' }) @View({ directives: [FORM_DIRECTIVES], template: ` &lt;select [ngModel]="selection" (ngModelChange)="onChange($event, selection)" &gt; &lt;option *ngFor="#option of options"&gt;{{option}}&lt;/option&gt; &lt;/select&gt; {{selection}} ` }) export class MyDropdown { @Input() options; selection = 'Dog'; ngOnInit() …


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.