13/09/06 19:13:41.08
JavaScript を自ら学ぶ人のための質問スレッドです。
>>2-4のテンプレを読んだ上で質問してください。
■質問を書く上で
(1) 煽り、コード制作依頼等、人を不快にさせる投稿はご遠慮下さい。公序良俗を守った応対を心がけてください。
(2) 他の人に迷惑をかけるスクリプトの質問はご遠慮ください。
(ブラクラ、[戻る], [閉じる], [クリック] の妨害、画面占有など)
(3) 質問者及び議論を行う人はメール欄を空欄にし、名前にレス番を入れることを強く推奨します。(なりすまし及び煽り防止のため)
(4) 常に自発的に調べる心構えを持ってください。
具体的には「自分で調べてから質問する」「回答をもらってわからない単語があればGoogle検索してみる」など。
わからない内容を代わりに調べてくれる回答者をお望みの方は余所で質問してください。
(5) 出来るだけ一般的な用語を使用してください。脳内オレオレ用語は混乱の元です。
(6) 出来るだけサンプルコードを掲示してください。言葉による説明は行き違いが生まれる場合があります。
※必ず「問題の事象が再現されること」を確認してください。
必要な部分だけ切り出したつもりで現象が再現できていなかったケアレスミスがしばしば見られます。
(7) サンプルコードに HTML が含まれる場合は URLリンク(validator.w3.org) で [Check] してみてください。
(8) 質問を具体的かつ詳細に書くと回答を得られやすいです。質問テンプレートを活用してみてください。
■質問テンプレート
【環境】OS, ブラウザをバージョンと共に記入してください。(ex: IE8, Firefox4)
【何をしたのか】何をしたら問題の現象が発生するのか。再現手順を具体的に書いてください。
【エラーメッセージ】エラーメッセージがあれば正確に書き写してください。(Windows なら「コピット」を活用)
【期待する結果】最終的にどういう結果を望んでいるのか、を書いてください。
【サンプルコード】現象を再現可能な最小限のコードを書いてください。
1レスに収まらないならコード投稿サイトを利用してください。
URLリンク(jsdo.it) URLリンク(jsbin.com) URLリンク(jsfiddle.net) URLリンク(ideone.com)
2:Name_Not_Found
13/09/06 19:14:32.95
■前スレ
+ JavaScript の質問用スレッド vol.107 +
スレリンク(hp板)
■過去スレ全集
URLリンク(www2.atpages.jp)
URLリンク(usamimi.info) (閲覧のみ)
■テンプレ案
URLリンク(jsfiddle.net)
■関連スレ
ECMAScript デス 4
スレリンク(tech板)
【jQuery】JavaScript ライブラリ総合質問所 vol.3
スレリンク(hp板)
WSH(・∀・)スレッド! Part 5
スレリンク(tech板)
【WHATWG】HTML5 Part4【W3C HTML WG】
スレリンク(hp板)
Webサイト制作初心者用質問スレ part236
スレリンク(hp板)
CSS初心者スレッド=12th=
スレリンク(hp板)
Canvasについて語ろう
スレリンク(hp板)
3:Name_Not_Found
13/09/06 19:15:54.85
■主要FAQ (全部は URLリンク(fiddle.jshell.net) )
Q1. 別窓・フレーム内容やローカルファイルを読み書きしたいのですが…
A1. 別サーバのページやファイルの内容はセキュリティ制約でアクセス不可です。
Q2. document.write()でページ内容を追加したいのですが…
A2. 一度表示完了後にwriteするとページ内容が消去されます。DOM等別手段を。
Q3. table内容のinnerHTMLやDOMでの変更がうまく行かないのですが…
A3. IEではtable/tbody/trのinnerHTML書き換え不可です。DOMを使いますが、
DOMの場合tableの直下にはtbody要素が(作らなくても)あることに注意。
Q4. フォーム部品名を変数にした「...myform.変数名.value」が動きません…
A4. 「document.forms.myform.elements[変数名].value」でどぞ。
JavaScriptでは一般に「obj.x」と「obj['x']」は同じ意味です。
グローバル変数はwindowのプロパティなので「x」と「window['x']」も。
Q5. CSSで設定した背景色がe.style.backgroundColorで取得できないのですが…
A5. 取得には document.defaultView.getComputedStyle() を使う必要あり。
IEでは要素オブジェクトのプロパティcurrentStyleを使う。
Q6. setAttribute("class","foo")、setAttribute("onclick","bar()")が動きません…
A6. IEではそれは不可。「obj.className="foo"」「obj.onclick=bar」でどぞ。
Q7. タイマーやイベントハンドラに設定するコードにthisを含めたいのですが
「"...this..."」とか「function(){...this...}」ではうまく行きません。
A7. 実行時にthisが別のものを指してしまってる。以下のようにthisを束縛保存。
「function(x){return function(){...x...};}(this)」
Q8. input type="file"の値を設定(参照)できないのですが…
A8. セキュリティ制約のため設定は絶対に不可。参照はブラウザにより不可。
Q9. getElementById('ID名')や$('ID名')で要素が取れないのですが…
A9. コード実行時点でHTMLがそこまで読まれてない。window.onload 中でやるとか
4:Name_Not_Found
13/09/06 19:16:55.28
■主要FAQ (全部は URLリンク(fiddle.jshell.net) )
Q1. 別窓・フレーム内容やローカルファイルを読み書きしたいのですが…
A1. 別サーバのページやファイルの内容はセキュリティ制約でアクセス不可です。
Q2. document.write()でページ内容を追加したいのですが…
A2. 一度表示完了後にwriteするとページ内容が消去されます。DOM等別手段を。
Q3. table内容のinnerHTMLやDOMでの変更がうまく行かないのですが…
A3. IEではtable/tbody/trのinnerHTML書き換え不可です。DOMを使いますが、
DOMの場合tableの直下にはtbody要素が(作らなくても)あることに注意。
Q4. フォーム部品名を変数にした「...myform.変数名.value」が動きません…
A4. 「document.forms.myform.elements[変数名].value」でどぞ。
JavaScriptでは一般に「obj.x」と「obj['x']」は同じ意味です。
グローバル変数はwindowのプロパティなので「x」と「window['x']」も。
Q5. CSSで設定した背景色がe.style.backgroundColorで取得できないのですが…
A5. 取得には document.defaultView.getComputedStyle() を使う必要あり。
IEでは要素オブジェクトのプロパティcurrentStyleを使う。
Q6. setAttribute("class","foo")、setAttribute("onclick","bar()")が動きません…
A6. IEではそれは不可。「obj.className="foo"」「obj.onclick=bar」でどぞ。
Q7. タイマーやイベントハンドラに設定するコードにthisを含めたいのですが
「"...this..."」とか「function(){...this...}」ではうまく行きません。
A7. 実行時にthisが別のものを指してしまってる。以下のようにthisを束縛保存。
「function(x){return function(){...x...};}(this)」
Q8. input type="file"の値を設定(参照)できないのですが…
A8. セキュリティ制約のため設定は絶対に不可。参照はブラウザにより不可。
Q9. getElementById('ID名')や$('ID名')で要素が取れないのですが…
A9. コード実行時点でHTMLがそこまで読まれてない。window.onload 中でやるとか
5:Name_Not_Found
13/09/06 19:27:24.16
JAVASCRIPT
6:Name_Not_Found
13/09/07 00:30:39.94
<tr>
<td class="a" rowspan=2></td><td class="b"></td><td class="c"></td>
</tr>
<tr>
<td class="a" ></td><td class="b"></td><td class="c"></td>
</tr>
<tr>
<td class="a" rowspan=2></td><td class="b"></td><td class="c"></td>
</tr>
<tr>
<td class="a" ></td><td class="b"></td><td class="c"></td>
</tr>
<tr>
<td class="a" rowspan=2></td><td class="b"></td><td class="c"></td>
</tr>
<tr>
<td class="a" ></td><td class="b"></td><td class="c"></td>
</tr>
こんな風に、最初の<td>だけ2行がつながっている<tr>の繰り返しのテーブルをjQueryでループで見ていきたいのです。
$('tr').each(function() {
$(this).....
}
ここで、$(this)はどんな感じに各tdを参照すればいいのでしょうか?
各<td>にはクラスはつけてますが、$(this).find('.a')だと何故か[0]をつけないと、<td class="a">にアクセスできません。
加えて、偶数行はどうやって上の行の<td class="a">にアクセスすればいいのでしょうか
7:Name_Not_Found
13/09/07 08:26:01.73
class="a"なものは複数ある可能性があるから、常に並びで返されるんで、
たとえ1個であっても並びの先頭の1個を取る必要があるんでしょ。
そしてrowspan=2にするのなら、偶数行はclass="a"のセルは書いてはいけないんじゃ
ないのかな。テーブル表示して正しい構造になってるか確認してるの?
8:Name_Not_Found
13/09/07 08:51:59.10
■各種仕様 ( URLリンク(fiddle.jshell.net) も参照 )
◆ Standard ECMA-262
URLリンク(www2u.biglobe.ne.jp) (ECMAScript 3 和訳)
URLリンク(es5.github.io) (ECMAScript 5.1 有志HTML版)
URLリンク(people.mozilla.org) (ECMAScript 6 有志HTML版)
URLリンク(kangax.github.io) (ECMAScript 5 compatibility table)
URLリンク(kangax.github.io) (ECMAScript 6 compatibility table)
◆ HTML Standard (HTML5)
URLリンク(www.whatwg.org)
URLリンク(momdo.s35.xrea.com) (HTML5.1 和訳)
URLリンク(www.hcn.zaq.ne.jp)(Web Storage 和訳)
◆ Document Object Model (DOM) / CSS Object Model (CSSOM)
URLリンク(www.hcn.zaq.ne.jp) (DOM Standard (DOM4) 和訳)
URLリンク(www.w3.org) (DOM3 Events)
URLリンク(www.hcn.zaq.ne.jp) (CSSOM 和訳)
URLリンク(www.hcn.zaq.ne.jp) (CSSOM View Module 和訳)
◆ その他のWeb関連仕様
URLリンク(domparsing.spec.whatwg.org) (DOM Parsing and Serialization - innerHTML等)
URLリンク(www.hcn.zaq.ne.jp) (XMLHttpRequest 和訳)
URLリンク(www.hcn.zaq.ne.jp) (File API 和訳)
URLリンク(notifications.spec.whatwg.org) (Notifications API)
URLリンク(www.whatwg.org) (WHATWGの仕様一覧)
◆ MDN (Netscape/Mozilla)
URLリンク(developer.mozilla.org)
◆ JavaScript Garden (ja)
URLリンク(bonsaiden.github.com)
◆ JSON (JavaScript Object Notation)
URLリンク(www.json.org)
◆ MSDN Library
URLリンク(msdn.microsoft.com) (JavaScript)
URLリンク(msdn.microsoft.com) (JScript)
URLリンク(msdn.microsoft.com) (DHTML)
9:Name_Not_Found
13/09/07 10:33:25.28
>>7
そのとおりです。
偶数行は<td class="a">はありません。
この場合、$('tr').eachを書く場合、偶数行はどのように上の行の<td class="a">にアクセスするのでしょうか?
closestは子孫じゃないととれないようですし・・・・
10:Name_Not_Found
13/09/07 11:05:11.58
流れぶった切って申し訳ないけど、俺、最近ダメだわ。
10代の頃はSEXした後もその余韻で家帰ってもシコッてた頃が懐かしい。
20代後半から来るとは聞いてたけど。ホントなんだねぇ。
大学生の頃はイベントサークル所属して狂ったようにナンパして
あの手この手でHすることばっかり考えて結果はあんまり伴ってなかったのに
今は若い子と知り合ってもそういう気になれないし
不思議と今の方が若い頃より女に不自由しない。
10代の頃の自分が今の自分を見るとビックリするだろうね。
もっと若くて勢いのある時にそうなってほしかったよ。
因みに今日も仕事でこんな時間。。。やっぱストレスなんですかね?
年は今年31で仕事は商社勤務です。医者に相談した方がいいんでしょうかね?
どういうとこに相談すればいいんでしょうかね?
ホントに性欲が無さ過ぎで悲しくなってくる。
11:Name_Not_Found
13/09/07 16:07:36.93
>>9
遠回りのようだけど、行列が見た目と合致する二次元配列を作っておいて、
それを走査する方がいいのでは。
12:Name_Not_Found
13/09/07 17:49:02.27
>>1
乙
13:Name_Not_Found
13/09/08 03:11:48.71
JavaScriptをIDEで開発したい場合、何が一番いいですか?
14:Name_Not_Found
13/09/08 05:05:01.88
バトルにおいては各言語の調査やアピールも必要でしょ
喧嘩スレじゃないんだぞ
いい意味のバトルだ
15:Name_Not_Found
13/09/08 06:41:28.82
aptana studioを入れてみましたが
今書いてるソースのアウトラインが表示されない
JSは自由度が高すぎるのでパースが難しいのかなぁ
16:Name_Not_Found
13/09/08 10:23:33.17
>>13
著名人が使ってるのはwebStorm
ザコや無料厨が使ってるのはeclipseやaptanaとかテキストエディタ
17:Name_Not_Found
13/09/08 10:56:05.36
ありがとうございました
18:Name_Not_Found
13/09/08 14:59:29.78
さぶらいむてきすとがいいよ
19:Name_Not_Found
13/09/08 15:03:11.60
sublime text、ctrl+Rで関数リストが出るんですね
これは素敵だ
20:Name_Not_Found
13/09/08 15:10:08.86
やってみたら夥しい数のconsoleが出てきた
21:Name_Not_Found
13/09/08 15:20:44.59
JSHintのパッケージも入れてみたら便利になりました
エディタなのに統合環境的に使えていいですね
22:Name_Not_Found
13/09/08 16:14:09.64
【環境】Win7, FireFox17
【何をしたのか】
クラス内の関数を再起呼び出したい
【エラーメッセージ】
【期待する結果】
【サンプルコード】
function Class() { }
Class.prototype.funcA=function() {
// 他の処理
funcB(5); // これはできない?
}
Class.prototype.funcB=function(x) {
// 他の処理
// ここで自分自身のfuncBを呼び出したい
funcB(x); // これも無理?
}
onload=function() {
var c=new Class();
c.funcA();
23:Name_Not_Found
13/09/08 16:19:59.56
this. つけよう
24:Name_Not_Found
13/09/08 17:04:32.03
>>23
ありがとうございます!
thisなんて初歩的すぎる見落としでした!
バッチリ動きました!
25:Name_Not_Found
13/09/08 17:34:42.54
selfじゃだめなの?
26:Name_Not_Found
13/09/08 18:56:15.87
self派?that派?ES6派?あなたはどっち派?
27:Name_Not_Found
13/09/08 19:48:06.34
WEBエディタでサブライムっぽくて凄そうなの見つけた
URLリンク(d.hatena.ne.jp)
28:Name_Not_Found
13/09/08 20:10:01.59
エディタを作る素材って感じだな
でもゲームライブリ+TypeScript用オレオレエディタみたいなのが
気軽に作れるって、使う人が使えばいい開発環境になるかもな
29:Name_Not_Found
13/09/09 00:25:56.68
空のJSON判定ってどうすりゃいいですか?
var json1 = undefined;
var json2 = null;
var json3 = {};
のjson3が、{}であることを判定したいのですが。
json1,json2なら、未定義やnull時は
if(!json1){...};
で判定できるんですが、json3の場合はどう書けばいいのか解りません。
if(json3 === {}){...};
はfalseになってしまいました。
30:Name_Not_Found
13/09/09 00:26:06.22
400万行まで編集できるってマジ!?
それなら普通のエディタも作れるじゃん
31:Name_Not_Found
13/09/09 00:29:39.22
>>29
Object.keys(json3).length
32:Name_Not_Found
13/09/09 00:47:03.24
>>31
ありがとうございます!
33:Name_Not_Found
13/09/09 05:53:16.59
それだと ECMAScript5 では不十分だけどね。
34:Name_Not_Found
13/09/09 07:01:26.08
Web技術はみなLiving Standard
バージョンとかそもそも無い
35:Name_Not_Found
13/09/09 09:56:05.40
URLリンク(phpspot.org)
JavaScriptからfaviconを加工して表示されるのはなぜですか?
この仕組みを教えて下さい
36:Name_Not_Found
13/09/09 12:37:47.63
見てないけどbase64にしてイジってんじゃないの
37:Name_Not_Found
13/09/09 13:50:03.48
何故ってどういうこと?
疑問点があるんならハッキリ言ったらいいし
全体の流れを知りたいのならソース見ればいいじゃん
そのくらいのこともしない奴に教えられることなんて無いね
38:Name_Not_Found
13/09/09 14:04:26.93
↑
疑問点書いてあるのにそれすらわからないってアホだな
39:Name_Not_Found
13/09/09 14:07:15.81
×そのくらいのこともしない奴に教えられることなんて無いね
○私の知識ではソースコード見ても分からないので、教えることは出来ない
40:Name_Not_Found
13/09/09 14:40:17.22
無能な質問者による回答者に対する罵倒w
41:Name_Not_Found
13/09/09 15:48:31.71
>>33
どうすれば完璧なのか教えてくれ
42:Name_Not_Found
13/09/09 16:11:24.49
jqueryを使って、
liタグの羅列から、指定したインデックスのli要素を削除したり、
指定した場所にli要素を挿入したりするにはどうしたらいいですか?
43:Name_Not_Found
13/09/09 16:13:01.21
完璧なんて無い
すべてのキーの列挙が保証されるgetOwnPropertyKeysもES6だし
44:Name_Not_Found
13/09/09 16:13:56.06
>>42
一回は自分で作ってから来い。
45:Name_Not_Found
13/09/09 16:16:44.27
>>39
ソースを読めるようになると便利よ
もっと具体的に聞いてくれたら親身に教えてあげられるよ
頑張れ!!
っていうツンデレメッセージなのにそれも分からんとか……
46:Name_Not_Found
13/09/09 16:34:22.50
>>29
まず「空のJSON判定」では無くて「空のobject判定」だということをハッキリさせよう。
47:Name_Not_Found
13/09/09 16:37:02.91
>>45
スルーされて消えていった質問も多いんだから、
質問者は例えひどく言われたとしても、
関心を持ってもらっただけでもラッキーと思うべきだよね。
48:Name_Not_Found
13/09/09 16:44:25.05 Wa11yclS
JSONのNがなんだったかいつも忘れてしまう
JavaScriptObjectなんとか…
49:Name_Not_Found
13/09/09 16:47:09.68
42の件ですが出来ました
// 削除
$('#test').children().eq(0).remove();
// 挿入
$('#test').children().eq(0).before("<li>4</li>");
// 追加
$('#test').append("<li>5</li>");
50:Name_Not_Found
13/09/09 16:47:40.20
notification?
51:Name_Not_Found
13/09/09 16:49:48.69
>>49
出来たら来るな。
52:Name_Not_Found
13/09/09 16:52:12.50
自分のやり方とは違う人もいるのだから質問することに問題はありません
53:Name_Not_Found
13/09/09 16:56:07.88 Wa11yclS
解決した報告はいいんじゃね?
54:Name_Not_Found
13/09/09 16:56:15.32
>>41
まとめ
enumerable unique string keys
→Object.keys [ES5]
unique string keys
→Object.getOwnPropertyNames [ES5]
unique keys
→Object.getOwnPropertyKeys [ES6]
private keys
→現状手段無し(不明) [ES6-7]
55:Name_Not_Found
13/09/09 17:10:54.47
getOwnPropertyNamesを決める時に、名前をKeysじゃなくてNamesにしてて良かったな。
ECMAは未来がちゃんと見えてる、頼もしい。