私的良スレ書庫
不明な単語は2ch用語を / 要望・削除依頼は掲示板へ。不適切な画像報告もこちらへどうぞ。 / 管理情報はtwitterでログインするとレス評価できます。 登録ユーザには一部の画像が表示されますので、問題のある画像や記述を含むレスに「禁」ボタンを押してください。
元スレ+ JavaScript の質問用スレッド vol.76 +
JavaScript スレッド一覧へ / JavaScript とは? / 携帯版 / dat(gz)で取得 / トップメニューみんなの評価 :
レスフィルター : (試験中)
MDCのCore JavaScript Referenceでオブジェクトリテラルって
どこにかかれているのでしょうか。
Global_ObjectのArrayの配列リテラル[]のような感じで
{}もどこかにあるのかなと思ったんですが・・
どこにかかれているのでしょうか。
Global_ObjectのArrayの配列リテラル[]のような感じで
{}もどこかにあるのかなと思ったんですが・・
ふと思ったのですが
var o = {};
と
var o_f = function(){};
new o_f();
は同じ意ですか?
var o = {};
と
var o_f = function(){};
new o_f();
は同じ意ですか?
>>356
Stringの関数よく見ればわかるだろうけど、気にしようがないから気にすんな
Stringの関数よく見ればわかるだろうけど、気にしようがないから気にすんな
ねーよ。破壊的なメソッドがねーんだよ
{value: 'foo'} を渡して value を読み書きしろ
{value: 'foo'} を渡して value を読み書きしろ
var o = {height: 100%}; // SyntaxError: Unexpected token }
知らないけど文字列で渡すんじゃないの?
知らないけど文字列で渡すんじゃないの?
Java Scriptでテキストボックスの変数を未入力、半角スペースのみ、全角スペースのみ
でチェックしてそうなら処理中止というif分を書きたいのですが未入力しか判別してくれません
var input;//テキストボックスの値を持った変数
if(input == "" || input == "[ ]+" || input == [ ]+){
~~~
}
まだJava Scriptになれていなく文法がよくわかりません、どなたか助けて下さい。
でチェックしてそうなら処理中止というif分を書きたいのですが未入力しか判別してくれません
var input;//テキストボックスの値を持った変数
if(input == "" || input == "[ ]+" || input == [ ]+){
~~~
}
まだJava Scriptになれていなく文法がよくわかりません、どなたか助けて下さい。
>>370
「正規表現」で調べる。
「正規表現」で調べる。
質問です。
tableのある2つのtd要素を入れ替えたいです。
replaceChildは使えません。同じ行でない場合はもちろん・同じ行だと要素が消えました。
現状片方のinnerHTMLを変数に代入→入れ替え→一つに変数を戻す。という形でやっていますが、
いかんせん重いのです。そこで、innerHTMLが重いのではないかと考え、DOM要素ごと入れ替えようと思ったのですが、
.innerHTMLを消すと動かなくなります。(appendChildは要素の位置が不定なので無理です。)
親要素が違う場合、子要素の入れ替えはinnerHTML以外無いのでしょうか?
tableのある2つのtd要素を入れ替えたいです。
replaceChildは使えません。同じ行でない場合はもちろん・同じ行だと要素が消えました。
現状片方のinnerHTMLを変数に代入→入れ替え→一つに変数を戻す。という形でやっていますが、
いかんせん重いのです。そこで、innerHTMLが重いのではないかと考え、DOM要素ごと入れ替えようと思ったのですが、
.innerHTMLを消すと動かなくなります。(appendChildは要素の位置が不定なので無理です。)
親要素が違う場合、子要素の入れ替えはinnerHTML以外無いのでしょうか?
簡易の為に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は親要素が違う可能性があるので無理です)
<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は親要素が違う可能性があるので無理です)
>>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);
replaceChild()でもできるはずだけどな。
//直下の子が1ノードだけのときはこれでOK
var test1 = $('test1');
var test2 = $('test2');
var child1 = test1.firstChild;
var child2 = test2.firstChild;
test1.replaceChild(child1, child2);
test2.appendChild(child1);
>>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;
}
直下の子が複数ノードの場合はこんなかんじ。
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;
}
直下の要素はソースで2つ有ります。(関係ないですがDom情報で、tridentでは2つ、gecko,webkitでは5つぐらいに認識されます・・なぜ・・・)
test1.re~のところで、NOT_FOUND_ERR: DOM Exception 8となります。。
いまさらなのですが、DOM要素での入れ替え(出来る場合)とinnerHTMLでの入れ替えがほぼ同じスピードならinnerHTMLでも問題ないのですが、どうなんでしょう?
test1.re~のところで、NOT_FOUND_ERR: DOM Exception 8となります。。
いまさらなのですが、DOM要素での入れ替え(出来る場合)とinnerHTMLでの入れ替えがほぼ同じスピードならinnerHTMLでも問題ないのですが、どうなんでしょう?
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等を保持しない
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等を保持しない
おぉ!
素晴らしいです!ありがとうございました。
最後にひとつだけ、innerHTMLが問題なのはわかったのですが、速度はどちらの方が早いのでしょう?
素晴らしいです!ありがとうございました。
最後にひとつだけ、innerHTMLが問題なのはわかったのですが、速度はどちらの方が早いのでしょう?
知らん
5年前のMozillaならinnerHTMLが正気の沙汰でない重さだったが今は改善されている
innerHTMLの方が速いと言う人もいるがinnerHTMLは再描画のキュー待ちになるのに対し
DOMはそのつど再描画が走ることが多いから必ずしもフェアな比較でない
どちらにせよ大切なのは再描画を最小限に抑えること
また意識すべきはユーザの体感速度であって必ずしも実速度でない
速度より重要なのは一つのDOM木を大勢で喰い散らかしている現実への対処
例えば379の同僚がセル内に仕掛けたEventListenerを379がinnerHTMLで消してしまっては話にならない
グローバル変数は毛嫌いするのにこういう部分には無頓着な人が多い
5年前のMozillaならinnerHTMLが正気の沙汰でない重さだったが今は改善されている
innerHTMLの方が速いと言う人もいるがinnerHTMLは再描画のキュー待ちになるのに対し
DOMはそのつど再描画が走ることが多いから必ずしもフェアな比較でない
どちらにせよ大切なのは再描画を最小限に抑えること
また意識すべきはユーザの体感速度であって必ずしも実速度でない
速度より重要なのは一つのDOM木を大勢で喰い散らかしている現実への対処
例えば379の同僚がセル内に仕掛けたEventListenerを379がinnerHTMLで消してしまっては話にならない
グローバル変数は毛嫌いするのにこういう部分には無頓着な人が多い
innerHTMLでイベント全部消していく横暴なプログラムはやめてくれ
せめてnodeValue書き換えて
せめてnodeValue書き換えて
すいません!
gオプション付与で上手くいきました
失礼しました
sage忘れもすいませんでした
gオプション付与で上手くいきました
失礼しました
sage忘れもすいませんでした
>>392
メタ認知や抽象的思考ができない人が心がけ実践すべき3つの事柄:DESIGN IT! w/LOVE
http://gitanez.seesaa.net/article/133527498.html
メタ認知や抽象的思考ができない人が心がけ実践すべき3つの事柄:DESIGN IT! w/LOVE
http://gitanez.seesaa.net/article/133527498.html
確かに>>392みたいなのには伝わらないだろうな
前へ 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 次へ / 要望・削除依頼は掲示板へ / 管理情報はtwitterで / JavaScript スレッド一覧へ
みんなの評価 : 類似してるかもしれないスレッド
- + 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
トップメニューへ / →のくす牧場書庫について