元スレ+ JavaScript の質問用スレッド vol.76 +
JavaScript覧 / PC版 /みんなの評価 :
351 = :
MDCのCore JavaScript Referenceでオブジェクトリテラルって
どこにかかれているのでしょうか。
Global_ObjectのArrayの配列リテラル[]のような感じで
{}もどこかにあるのかなと思ったんですが・・
353 = :
すみません
http://developer.mozilla.org/ja/Core_JavaScript_1.5_Guide/Creating_New_Objects
にありました。
355 = :
コンストラクタと、それに伴うものが違う。
356 = :
文字列は配列のように扱うことが出来るけど配列のように参照渡しになる?
357 = :
>>356
Stringの関数よく見ればわかるだろうけど、気にしようがないから気にすんな
358 = :
したけりゃStringオブジェクトにでもしろ
359 = :
>>358
その手があったか!
366 = :
メモ帳
367 = :
うそ乙
369 = :
十分だろ
370 = :
Java Scriptでテキストボックスの変数を未入力、半角スペースのみ、全角スペースのみ
でチェックしてそうなら処理中止というif分を書きたいのですが未入力しか判別してくれません
var input;//テキストボックスの値を持った変数
if(input == "" || input == "[ ]+" || input == [ ]+){
~~~
}
まだJava Scriptになれていなく文法がよくわかりません、どなたか助けて下さい。
371 = :
>>370
「正規表現」で調べる。
372 = :
みんなエディター何使ってる??
373 = :
376 = :
正規表現を知っているからといって慢心してはならない。
379 = :
質問です。
tableのある2つのtd要素を入れ替えたいです。
replaceChildは使えません。同じ行でない場合はもちろん・同じ行だと要素が消えました。
現状片方のinnerHTMLを変数に代入→入れ替え→一つに変数を戻す。という形でやっていますが、
いかんせん重いのです。そこで、innerHTMLが重いのではないかと考え、DOM要素ごと入れ替えようと思ったのですが、
.innerHTMLを消すと動かなくなります。(appendChildは要素の位置が不定なので無理です。)
親要素が違う場合、子要素の入れ替えはinnerHTML以外無いのでしょうか?
380 = :
お前がへたくそなだけだろ
つかコードくらい書けよ
381 = :
簡易の為にprototype.jsのエレメント取得も
<script type="text/javascript">
var $ = function (B) {return document.getElementById(B);}
//$('test1') = $('test2');//動かない
$('test1').innerHTML = $('test2').innerHTML;
</script>
<table><tbody><tr>
<td id="test1">test1</td>
<td id="test2">test2</td>
</tr></tbody></table>
コメントアウトしてある方の感じで、要素の属性から中身まで全部を入れ替えたいのです。(replaceChildは親要素が違う可能性があるので無理です)
383 = :
>>381
replaceChild()でもできるはずだけどな。
//直下の子が1ノードだけのときはこれでOK
var test1 = $('test1');
var test2 = $('test2');
var child1 = test1.firstChild;
var child2 = test2.firstChild;
test1.replaceChild(child1, child2);
test2.appendChild(child1);
384 = :
>>381
直下の子が複数ノードの場合はこんなかんじ。
var test1 = $('test1');
var test2 = $('test2');
var child1 = test1.firstChild;
var first1 = child1
// test1の子供をtest2に追加
while (child1) {
var next = child1.nextSibling;
test2.appendChild(child1);
child1 = next;
}
// test2の子供を、上で足したものの直前まで移動
var child2 = test2.firstChild;
while (child2 != first1) {
var next = child2.nextSibling;
test1.appendChild(child2);
child2 = next;
}
385 = :
直下の要素はソースで2つ有ります。(関係ないですがDom情報で、tridentでは2つ、gecko,webkitでは5つぐらいに認識されます・・なぜ・・・)
test1.re~のところで、NOT_FOUND_ERR: DOM Exception 8となります。。
いまさらなのですが、DOM要素での入れ替え(出来る場合)とinnerHTMLでの入れ替えがほぼ同じスピードならinnerHTMLでも問題ないのですが、どうなんでしょう?
386 = :
var d = document;
var c1 = d.getElementById('test1');
var c2 = d.getElementById('test2');
var r1 = c1.parentNode;
var r2 = c2.parentNode;
var c1f = r1.cells[c1.cellIndex + 1];
r2.replaceChild(c1, c2);
r1.insertBefore(c2, (c1f === c2) ? c1 : c1f);
innerHTMLやcloneNodeはEventListenerやUserData等を保持しない
387 = :
おぉ!
素晴らしいです!ありがとうございました。
最後にひとつだけ、innerHTMLが問題なのはわかったのですが、速度はどちらの方が早いのでしょう?
388 = :
知らん
5年前のMozillaならinnerHTMLが正気の沙汰でない重さだったが今は改善されている
innerHTMLの方が速いと言う人もいるがinnerHTMLは再描画のキュー待ちになるのに対し
DOMはそのつど再描画が走ることが多いから必ずしもフェアな比較でない
どちらにせよ大切なのは再描画を最小限に抑えること
また意識すべきはユーザの体感速度であって必ずしも実速度でない
速度より重要なのは一つのDOM木を大勢で喰い散らかしている現実への対処
例えば379の同僚がセル内に仕掛けたEventListenerを379がinnerHTMLで消してしまっては話にならない
グローバル変数は毛嫌いするのにこういう部分には無頓着な人が多い
389 = :
innerHTMLでイベント全部消していく横暴なプログラムはやめてくれ
せめてnodeValue書き換えて
391 = :
その文字列に数字は入るのか。
入らないなら楽。
392 = :
>>390
具体的な例を上げた方が早いよ。日本語じゃわかりづらい
どういう入力があったときにこういう出力が欲しいっての書かないと。
あと正規表現でここまでできたとか。
393 = :
>>391
文字列に数値は入りません
>>392
xarray[0] = Field.value.match(/[0-9][0-9][0-9]/g);
//(以下同様)
みたいな感じです
396 = :
すいません!
gオプション付与で上手くいきました
失礼しました
sage忘れもすいませんでした
397 = :
>>392
メタ認知や抽象的思考ができない人が心がけ実践すべき3つの事柄:DESIGN IT! w/LOVE
http://gitanez.seesaa.net/article/133527498.html
398 = :
これはひどいオナニー文章
399 = :
確かに>>392みたいなのには伝わらないだろうな
400 = :
なんだ宣伝か
類似してるかもしれないスレッド
- + JavaScript の質問用スレッド vol.96 + (1001) - [97%] - 2012/1/28 23:01
- + JavaScript の質問用スレッド vol.86 + (1001) - [97%] - 2011/5/27 21:50
- + JavaScript の質問用スレッド vol.74 + (1001) - [97%] - 2009/12/1 6:08 ○
- + JavaScript の質問用スレッド vol.75 + (1001) - [97%] - 2010/1/23 1:07 ○
- + JavaScript の質問用スレッド vol.77 + (1001) - [97%] - 2010/5/8 19:06
- + JavaScript の質問用スレッド vol.78 + (1001) - [97%] - 2010/6/25 3:53
- + JavaScript の質問用スレッド vol.79 + (1001) - [97%] - 2010/9/11 6:50
- + JavaScript の質問用スレッド vol.126 + (348) - [95%] - 2023/1/12 17:00
- + JavaScript の質問用スレッド vol.126 + (952) - [95%] - 2015/11/18 13:15
- + JavaScript の質問用スレッド vol.106 + (1001) - [95%] - 2013/7/20 9:30
- + JavaScript の質問用スレッド vol.116 + (1002) - [95%] - 2014/7/1 0:45
- + JavaScript の質問用スレッド vol.136 + (1001) - [95%] - 2019/1/8 11:30
- + JavaScript の質問用スレッド vol.94 + (1001) - [95%] - 2012/1/8 15:46
- + JavaScript の質問用スレッド vol.81 + (1001) - [95%] - 2010/12/10 20:01
- + JavaScript の質問用スレッド vol.82 + (1001) - [95%] - 2011/1/19 7:54
- + JavaScript の質問用スレッド vol.84 + (1001) - [95%] - 2011/3/30 7:32
- + JavaScript の質問用スレッド vol.99 + (1001) - [95%] - 2012/5/7 4:32
トップメニューへ / →のくす牧場書庫について