元スレ+ JavaScript の質問用スレッド vol.108 +
JavaScript覧 / PC版 /みんなの評価 :
1 = :
JavaScript を自ら学ぶ人のための質問スレッドです。
>>2-4のテンプレを読んだ上で質問してください。
■質問を書く上で
(1) 煽り、コード制作依頼等、人を不快にさせる投稿はご遠慮下さい。公序良俗を守った応対を心がけてください。
(2) 他の人に迷惑をかけるスクリプトの質問はご遠慮ください。
(ブラクラ、[戻る], [閉じる], [クリック] の妨害、画面占有など)
(3) 質問者及び議論を行う人はメール欄を空欄にし、名前にレス番を入れることを強く推奨します。(なりすまし及び煽り防止のため)
(4) 常に自発的に調べる心構えを持ってください。
具体的には「自分で調べてから質問する」「回答をもらってわからない単語があればGoogle検索してみる」など。
わからない内容を代わりに調べてくれる回答者をお望みの方は余所で質問してください。
(5) 出来るだけ一般的な用語を使用してください。脳内オレオレ用語は混乱の元です。
(6) 出来るだけサンプルコードを掲示してください。言葉による説明は行き違いが生まれる場合があります。
※必ず「問題の事象が再現されること」を確認してください。
必要な部分だけ切り出したつもりで現象が再現できていなかったケアレスミスがしばしば見られます。
(7) サンプルコードに HTML が含まれる場合はhttp://validator.w3.org/ で [Check] してみてください。
(8) 質問を具体的かつ詳細に書くと回答を得られやすいです。質問テンプレートを活用してみてください。
■質問テンプレート
【環境】OS, ブラウザをバージョンと共に記入してください。(ex: IE8, Firefox4)
【何をしたのか】何をしたら問題の現象が発生するのか。再現手順を具体的に書いてください。
【エラーメッセージ】エラーメッセージがあれば正確に書き写してください。(Windows なら「コピット」を活用)
【期待する結果】最終的にどういう結果を望んでいるのか、を書いてください。
【サンプルコード】現象を再現可能な最小限のコードを書いてください。
1レスに収まらないならコード投稿サイトを利用してください。
http://jsdo.it/ http://jsbin.com/ http://jsfiddle.net/ http://ideone.com/
3 = :
■主要FAQ (全部はhttp://fiddle.jshell.net/vSqKr/33/show/ )
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 = :
■主要FAQ (全部はhttp://fiddle.jshell.net/vSqKr/33/show/ )
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 = :
JAVASCRIPT
6 = :
<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 = :
class="a"なものは複数ある可能性があるから、常に並びで返されるんで、
たとえ1個であっても並びの先頭の1個を取る必要があるんでしょ。
そしてrowspan=2にするのなら、偶数行はclass="a"のセルは書いてはいけないんじゃ
ないのかな。テーブル表示して正しい構造になってるか確認してるの?
8 = :
■各種仕様 (http://fiddle.jshell.net/vSqKr/33/show/#Link も参照 )
◆ Standard ECMA-262
http://www2u.biglobe.ne.jp/~oz-07ams/prog/ecma262r3/ (ECMAScript 3 和訳)
http://es5.github.io/ (ECMAScript 5.1 有志HTML版)
http://people.mozilla.org/~jorendorff/es6-draft.html (ECMAScript 6 有志HTML版)
http://kangax.github.io/es5-compat-table/ (ECMAScript 5 compatibility table)
http://kangax.github.io/es5-compat-table/es6/ (ECMAScript 6 compatibility table)
◆ HTML Standard (HTML5)
http://www.whatwg.org/specs/web-apps/current-work/multipage/
http://momdo.s35.xrea.com/web-html-test/spec/WD-html51-20130528/Overview.html (HTML5.1 和訳)
http://www.hcn.zaq.ne.jp/___/WEB/WebStorage-ja.html(Web Storage 和訳)
◆ Document Object Model (DOM) / CSS Object Model (CSSOM)
http://www.hcn.zaq.ne.jp/___/WEB/DOM4-ja.html (DOM Standard (DOM4) 和訳)
http://www.w3.org/TR/DOM-Level-3-Events/ (DOM3 Events)
http://www.hcn.zaq.ne.jp/___/WEB/cssom-ja.html (CSSOM 和訳)
http://www.hcn.zaq.ne.jp/___/WEB/cssom-view-ja.html (CSSOM View Module 和訳)
◆ その他のWeb関連仕様
http://domparsing.spec.whatwg.org/ (DOM Parsing and Serialization - innerHTML等)
http://www.hcn.zaq.ne.jp/___/WEB/XHR-ja.html (XMLHttpRequest 和訳)
http://www.hcn.zaq.ne.jp/___/WEB/File_API-ja.html (File API 和訳)
http://notifications.spec.whatwg.org/ (Notifications API)
http://www.whatwg.org/specs/ (WHATWGの仕様一覧)
◆ MDN (Netscape/Mozilla)
http://developer.mozilla.org/ja/docs
◆ JavaScript Garden (ja)
http://bonsaiden.github.com/JavaScript-Garden/ja/
◆ JSON (JavaScript Object Notation)
http://www.json.org/json-ja.html
◆ MSDN Library
http://msdn.microsoft.com/ja-jp/library/yek4tbz0.aspx (JavaScript)
http://msdn.microsoft.com/ja-jp/library/cc427807.aspx (JScript)
http://msdn.microsoft.com/ja-jp/library/cc409712.aspx (DHTML)
9 = :
>>7
そのとおりです。
偶数行は<td class="a">はありません。
この場合、$('tr').eachを書く場合、偶数行はどのように上の行の<td class="a">にアクセスするのでしょうか?
closestは子孫じゃないととれないようですし・・・・
10 = :
流れぶった切って申し訳ないけど、俺、最近ダメだわ。
10代の頃はSEXした後もその余韻で家帰ってもシコッてた頃が懐かしい。
20代後半から来るとは聞いてたけど。ホントなんだねぇ。
大学生の頃はイベントサークル所属して狂ったようにナンパして
あの手この手でHすることばっかり考えて結果はあんまり伴ってなかったのに
今は若い子と知り合ってもそういう気になれないし
不思議と今の方が若い頃より女に不自由しない。
10代の頃の自分が今の自分を見るとビックリするだろうね。
もっと若くて勢いのある時にそうなってほしかったよ。
因みに今日も仕事でこんな時間。。。やっぱストレスなんですかね?
年は今年31で仕事は商社勤務です。医者に相談した方がいいんでしょうかね?
どういうとこに相談すればいいんでしょうかね?
ホントに性欲が無さ過ぎで悲しくなってくる。
11 = :
>>9
遠回りのようだけど、行列が見た目と合致する二次元配列を作っておいて、
それを走査する方がいいのでは。
12 = :
>>1
乙
13 = :
JavaScriptをIDEで開発したい場合、何が一番いいですか?
14 = :
バトルにおいては各言語の調査やアピールも必要でしょ
喧嘩スレじゃないんだぞ
いい意味のバトルだ
16 = :
>>13
著名人が使ってるのはwebStorm
ザコや無料厨が使ってるのはeclipseやaptanaとかテキストエディタ
17 = :
ありがとうございました
18 = :
さぶらいむてきすとがいいよ
20 = :
やってみたら夥しい数のconsoleが出てきた
22 = :
【環境】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 = :
this. つけよう
24 = :
>>23
ありがとうございます!
thisなんて初歩的すぎる見落としでした!
バッチリ動きました!
27 = :
WEBエディタでサブライムっぽくて凄そうなの見つけた
http://d.hatena.ne.jp/tsugehara/20130419/1366380767
28 = :
エディタを作る素材って感じだな
でもゲームライブリ+TypeScript用オレオレエディタみたいなのが
気軽に作れるって、使う人が使えばいい開発環境になるかもな
29 = :
空のJSON判定ってどうすりゃいいですか?
var json1 = undefined;
var json2 = null;
var json3 = {};
のjson3が、{}であることを判定したいのですが。
json1,json2なら、未定義やnull時は
if(!json1){...};
で判定できるんですが、json3の場合はどう書けばいいのか解りません。
if(json3 === {}){...};
はfalseになってしまいました。
30 = :
400万行まで編集できるってマジ!?
それなら普通のエディタも作れるじゃん
31 = :
>>29
Object.keys(json3).length
32 = :
>>31
ありがとうございます!
33 = :
それだと ECMAScript5 では不十分だけどね。
36 = :
見てないけどbase64にしてイジってんじゃないの
37 = :
何故ってどういうこと?
疑問点があるんならハッキリ言ったらいいし
全体の流れを知りたいのならソース見ればいいじゃん
そのくらいのこともしない奴に教えられることなんて無いね
38 = :
↑
疑問点書いてあるのにそれすらわからないってアホだな
39 = :
×そのくらいのこともしない奴に教えられることなんて無いね
○私の知識ではソースコード見ても分からないので、教えることは出来ない
40 = :
無能な質問者による回答者に対する罵倒w
41 = :
>>33
どうすれば完璧なのか教えてくれ
42 = :
jqueryを使って、
liタグの羅列から、指定したインデックスのli要素を削除したり、
指定した場所にli要素を挿入したりするにはどうしたらいいですか?
44 = :
>>42
一回は自分で作ってから来い。
45 = :
>>39
ソースを読めるようになると便利よ
もっと具体的に聞いてくれたら親身に教えてあげられるよ
頑張れ!!
っていうツンデレメッセージなのにそれも分からんとか……
46 = :
>>29
まず「空のJSON判定」では無くて「空のobject判定」だということをハッキリさせよう。
47 = :
>>45
スルーされて消えていった質問も多いんだから、
質問者は例えひどく言われたとしても、
関心を持ってもらっただけでもラッキーと思うべきだよね。
49 = :
42の件ですが出来ました
// 削除
$('#test').children().eq(0).remove();
// 挿入
$('#test').children().eq(0).before("<li>4</li>");
// 追加
$('#test').append("<li>5</li>");
類似してるかもしれないスレッド
- + JavaScript の質問用スレッド vol.118 + (1002) - [97%] - 2014/8/29 22:30
- + JavaScript の質問用スレッド vol.105 + (1001) - [97%] - 2013/5/20 4:45
- + JavaScript の質問用スレッド vol.128 + (1001) - [97%] - 2016/2/26 6:45
- + JavaScript の質問用スレッド vol.107 + (1001) - [97%] - 2013/9/7 10:16
- + JavaScript の質問用スレッド vol.138 + (1004) - [97%] - 2019/4/20 23:45
- + JavaScript の質問用スレッド vol.106 + (1001) - [97%] - 2013/7/20 9:30
- + JavaScript の質問用スレッド vol.109 + (1001) - [97%] - 2013/10/7 13:16
- + JavaScript の質問用スレッド vol.104 + (1001) - [97%] - 2013/1/28 4:00
- + JavaScript の質問用スレッド vol.103 + (1001) - [97%] - 2012/11/9 15:30
- + JavaScript の質問用スレッド vol.102 + (1001) - [97%] - 2012/9/11 17:30
- + JavaScript の質問用スレッド vol.101 + (1001) - [97%] - 2012/7/16 14:15
- + JavaScript の質問用スレッド vol.100 + (1001) - [97%] - 2012/6/13 22:46
- + JavaScript の質問用スレッド vol.120 + (1002) - [95%] - 2014/11/8 1:15
- + JavaScript の質問用スレッド vol.125 + (1001) - [95%] - 2015/10/7 17:45
- + JavaScript の質問用スレッド vol.124 + (1001) - [95%] - 2015/7/16 1:30
- + JavaScript の質問用スレッド vol.123 + (1002) - [95%] - 2015/4/27 23:30
- + JavaScript の質問用スレッド vol.123 + (966) - [95%] - 2020/10/20 2:30
トップメニューへ / →のくす牧場書庫について