タグ付けされた質問 「javascript」

ECMAScript(JavaScript / JS)とそのさまざまな方言/実装(ActionScriptを除く)でのプログラミングに関する質問。このタグが単独で使用されることはほとんどありませんが、ほとんどの場合、[node.js]、[jquery]、[json]、および[html]タグに関連付けられています。



11
Internet Explorer 11の検出
IE 11には他のすべてのIEとは異なるユーザーエージェント文字列があることを知っています Mozilla/5.0 (Windows NT 6.3; Trident/7.0; rv 11.0) like Gecko この質問に回答を指定してIE 11を検出しようとしました」 jqueryはIE 11を検出できません それ !!navigator.userAgent.match(/Trident\/7\./) しかし、エラーが発生しています Object not found and needs to be re-evaluated. 次に、IE11で開発者コンソールを開き、いくつかの事前定義されたJavaScriptオブジェクトにアクセスしようとしましたが、それでも同じエラーが発生します。 私が試してみました navigator.userAgent window.navigator console.log('test'); 誰かそれについて何か考えがありますか?

11
子ノードのインデックスを取得する
まっすぐなjavascript(つまり、jQueryなどの拡張機能なし)では、すべての子ノードを繰り返し比較することなく、親ノード内の子ノードのインデックスを決定する方法はありますか? 例えば、 var child = document.getElementById('my_element'); var parent = child.parentNode; var childNodes = parent.childNodes; var count = childNodes.length; var child_index; for (var i = 0; i < count; ++i) { if (child === childNodes[i]) { child_index = i; break; } } 子供のインデックスを決定するより良い方法はありますか?
124 javascript  dom 

9
JavaScriptで選択したオプションテキストを取得する
次のようなドロップダウンリストがあります。 <select id="box1"> <option value="98">dog</option> <option value="7122">cat</option> <option value="142">bird</option> </select> JavaScriptを使用して、値ではなく実際のオプションテキストを取得するにはどうすればよいですか?私は次のようなもので値を得ることができます: <select id="box1" onChange="myNewFunction(this.selectedIndex);" > しかし、7122私が欲しいというよりはcat。


16
NodeJsアプリケーションとモジュール間でMongodbへの接続を適切に再利用する方法
私は何度も読んでいますが、NodeJアプリ全体で同じデータベース(MongoDb)接続を共有するための最良の方法は何なのか混乱しています。私が理解しているように、アプリの起動時に接続を開いてモジュール間で再利用する必要があります。私の現在の最良の方法のアイデアは、server.js(すべてが始まるメインファイル)データベースに接続し、モジュールに渡されるオブジェクト変数を作成することです。接続されると、この変数は必要に応じてモジュールコードによって使用され、この接続は開いたままになります。例えば: var MongoClient = require('mongodb').MongoClient; var mongo = {}; // this is passed to modules and code MongoClient.connect("mongodb://localhost:27017/marankings", function(err, db) { if (!err) { console.log("We are connected"); // these tables will be passed to modules as part of mongo object mongo.dbUsers = db.collection("users"); mongo.dbDisciplines = db.collection("disciplines"); console.log("aaa " + users.getAll()); …

7
lodashを使用して配列を比較する(アイテムは順序なしで存在)
私はループを使用してそれを行うことができることを知っていますが、これを行うエレガントな方法を見つけようとしています: 2つの配列があります。 var array1 = [['a', 'b'], ['b', 'c']]; var array2 = [['b', 'c'], ['a', 'b']]; lodash上記の2つの配列が同じであることを確認するために使用します。「同じ」とは、にarray1含まれていないアイテムがないことを意味しarray2ます。 これらのアイテム間の同等性をチェックすることに関して: ['a', 'b'] == ['b', 'a'] または ['a', 'b'] == ['a', 'b'] 文字は常に正しいので、どちらも機能します。


14
コントローラは関数ではなく、未定義になりましたが、コントローラをグローバルに定義しています
angularjsを使用したサンプルアプリケーションを書いています。Chromeブラウザで以下のエラーが発生しました。 エラーは エラー:[ng:areq] http://errors.angularjs.org/1.3.0-beta.17/ng/areq?p0=ContactController&p1=not%20a%20function%2C%20got%20undefined これは 引数「ContactController」は関数ではないため、定義されていません コード <!DOCTYPE html> <html ng-app> <head> <script src="../angular.min.js"></script> <script type="text/javascript"> function ContactController($scope) { $scope.contacts = ["abcd@gmail.com", "abcd@yahoo.co.in"]; $scope.add = function() { $scope.contacts.push($scope.newcontact); $scope.newcontact = ""; }; } </script> </head> <body> <h1> modules sample </h1> <div ng-controller="ContactController"> Email:<input type="text" ng-model="newcontact"> <button ng-click="add()">Add</button> <h2> Contacts </h2> …

2
標準モードで要素の幅または高さを設定する
<div>標準モードのJavaScriptでHTML要素(例)の幅または高さを設定することは可能ですか? 次のコードに注意してください。 <html> <script language="javascript" type="text/javascript"> function changeWidth(){ var e1 = document.getElementById("e1"); e1.style.width = 400; } </script> <body> <input type="button" value="change width" onclick="changeWidth()"/> <div id="e1" style="width:20px;height:20px; background-color:#096"></div> </body> </html> ユーザーが幅変更ボタンを押すと、<div>の幅が変更されます。 doctype宣言がQuirksモードを決定する場合、正常に機能します。標準モードでは、この方法で要素のサイズを変更できません 標準モードで要素のサイズを操作することはできますか?この機能不全を回避するには?

4
JavaScriptの継承:Object.createとnew
JavaScriptでは、これら2つの例の違いは何ですか。 前提条件: function SomeBaseClass(){ } SomeBaseClass.prototype = { doThis : function(){ }, doThat : function(){ } } Object.createを使用した継承の例A: function MyClass(){ } MyClass.prototype = Object.create(SomeBaseClass.prototype); 新しいキーワードを使用した継承例B function MyClass(){ } MyClass.prototype = new SomeBaseClass(); どちらの例も同じことをするようです。いつどちらを選ぶか? 追加の質問:以下のリンク(15行目)のコードを検討してください。関数自身のコンストラクターへの参照がプロトタイプに格納されています。なぜこれが便利なのですか? https://github.com/mrdoob/three.js/blob/master/src/loaders/ImageLoader.js 抜粋(リンクを開かない場合): THREE.ImageLoader.prototype = { constructor: THREE.ImageLoader }

4
IE9でJavaScriptからVBScriptに何も渡さない
VBScriptで記述されたフレームワークがあります。このフレームワークの一部の関数の内部では、関数のパラメーターがIfステートメントでNothingに対してチェックされ、いくつかのアクションが実行されます。JavaScriptで記述されたフレームワークを使用するコード。したがって、いくつかのアクションを実行するには、関数にNothingを渡す必要があります。IE8以前のバージョンでは、次のアプローチが機能しました。 <script type="text/vbscript"> Function Test(val) If (IsNull(val)) Then Test = "Null" ElseIf (IsObject(val)) Then If (val Is Nothing) Then Test = "Nothing" End If End If End Function Dim jsNothing Set jsNothing = Nothing msgBox(Test(jsNothing)) msgBox(Test(Null)) </script> <script type="text/javascript"> alert(Test(jsNothing)); </script> IE <9では、出力はNothing、Null、Nothingになります。 IE9の場合:なし、Null、Null。 IE9でJavaScriptからVBScriptにNothingを渡すにはどうすればよいですか? すみません、醜いのはわかっていますが、閉じ込められています。そして、VBScriptは嫌いです。 編集: フレームワーク機能の例があります。アプリケーションで広く使用されているため変更できません。 Function ExampleFunction(val) …

13
AngularJSで日付時刻をフォーマットする
AngularJSで日付と時刻を正しく表示するにはどうすればよいですか? 以下の出力は、AngularJS日付フィルターがある場合とない場合の入力と出力の両方を示しています。 In: {{v.Dt}} AngularJS: {{v.Dt | date:'yyyy-MM-dd HH:mm:ss Z'}} これは印刷します: In: 2012-10-16T17:57:28.556094Z AngularJS: 2012-10-16T17:57:28.556094Z 希望の表示形式は 2010-10-28 23:40:23 0400または2010-10-28 23:40:23 EST

9
数秒後にdivを非表示にする
疑問に思っていましたが、jqueryで数秒後にdivを非表示にするにはどうすればよいですか?たとえばGmailのメッセージのように。 最善を尽くしましたが、機能させることができません。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.