私的良スレ書庫
不明な単語は2ch用語を / 要望・削除依頼は掲示板へ。不適切な画像報告もこちらへどうぞ。 / 管理情報はtwitterでログインするとレス評価できます。 登録ユーザには一部の画像が表示されますので、問題のある画像や記述を含むレスに「禁」ボタンを押してください。
元スレ+ JavaScript & jQuery 質問用スレッド vol.7 +
JavaScript スレッド一覧へ / JavaScript とは? / 携帯版 / dat(gz)で取得 / トップメニューみんなの評価 :
レスフィルター : (試験中)
他の処理→$('#hoge')の処理→$('#hoge')の処理すればいいだけ
<select>なんかキーボードですぐ値変わる(変えられる)からな。
経験したことがあったとしても、原則論は変わらんやろ
別に並行宇宙の隅々にまでそんな可能性は落ちとらん言ってるわけやないんやから
別に並行宇宙の隅々にまでそんな可能性は落ちとらん言ってるわけやないんやから
>> 904
> それができないケース今までに経験したことない?
それを書けって言ってるのに、
これがサンプルも何もそのまんまじゃんって言ったんだから
このサンプルは順番入れ替えられるで終わりだろ
> それができないケース今までに経験したことない?
それを書けって言ってるのに、
これがサンプルも何もそのまんまじゃんって言ったんだから
このサンプルは順番入れ替えられるで終わりだろ
>>907
プログラム未経験?w
プログラム未経験?w
答えてくれないので、最初のval()で1が入っていたとして
1+1 → 2
2 + 2 → 4
4 + 4 → 8
を100回繰り返すことにしたよw
$('#hoge').val(function() {
return _.range(100).reduce(v => v + v, parseInt(this.value))
});
// 1.2676506002282294e+30
http://jsfiddle.net/636wr4mu/
で、本題はなんだっけ?
$('#hoge')を一回で済ませる? 済ませたが?
何ができないの?
>>909
プログラム未経験?www
はぁ~、結局ちゃんとした書き方をしらねーだけじゃねーか。
はぁ~、本当に情けない。
1+1 → 2
2 + 2 → 4
4 + 4 → 8
を100回繰り返すことにしたよw
$('#hoge').val(function() {
return _.range(100).reduce(v => v + v, parseInt(this.value))
});
// 1.2676506002282294e+30
http://jsfiddle.net/636wr4mu/
で、本題はなんだっけ?
$('#hoge')を一回で済ませる? 済ませたが?
何ができないの?
>>909
プログラム未経験?www
はぁ~、結局ちゃんとした書き方をしらねーだけじゃねーか。
はぁ~、本当に情けない。
コード載せるの忘れた
$('#hoge').val((i, value) => _.range(100).reduce(v => v + v, parseInt(value)))
$('#hoge').val((i, value) => _.range(100).reduce(v => v + v, parseInt(value)))
面白い応用例
http://jsfiddle.net/636wr4mu/4/
CSSはセレクタに適合する要素にたいして
同じスタイルを適用するのと同じように
jQueryはセレクタに適合する要素にたいして
同じ処理を適用することができる
なので、#hogeみたいに単独のIDではなく
.hogeみたいなクラスにすると、CSSで
一行ですべての要素に色を付けるのと同様
jQueryで一行で全ての要素に処理を適用できる
<input class="hoge" value="1"><br>
<input class="hoge" value="2"><br>
<input class="hoge" value="3"><br>
.hoge { color: green }
$('.hoge').val((i, value) => _.range(100).reduce(v => v + v, value|0))
http://jsfiddle.net/636wr4mu/4/
CSSはセレクタに適合する要素にたいして
同じスタイルを適用するのと同じように
jQueryはセレクタに適合する要素にたいして
同じ処理を適用することができる
なので、#hogeみたいに単独のIDではなく
.hogeみたいなクラスにすると、CSSで
一行ですべての要素に色を付けるのと同様
jQueryで一行で全ての要素に処理を適用できる
<input class="hoge" value="1"><br>
<input class="hoge" value="2"><br>
<input class="hoge" value="3"><br>
.hoge { color: green }
$('.hoge').val((i, value) => _.range(100).reduce(v => v + v, value|0))
ほれ、単に function と return と {} が増えるなーぐらいの話でしかないよ
$('.hoge').val(function(i, value) {
return _.range(100).reduce(function(v) { return v + v; }, value|0);
});
$('.hoge').val(function(i, value) {
return _.range(100).reduce(function(v) { return v + v; }, value|0);
});
>$('#hoge')の処理→他の処理→$('#hoge')の処理
ではないわな
ではないわな
>>919
forで回したいなら回せばいいじゃん?
俺は変数の値を変えるのではなく宣言的に書くのが
優れているという世間一般の認識どおりに書いただけの話
例のconstで十分って話の続きよ
ほらよ。変数の値を変える方に書き換えてあげるよ。
$('.hoge').val(function(i, value) {
let v = parseInt(value);
for (let i = 0; i < 100; i++) { v += v; }
return v;
});
それが今回の$('.hoge')は一回で十分だろって話に
何の関係があるのか知らんが
forで回したいなら回せばいいじゃん?
俺は変数の値を変えるのではなく宣言的に書くのが
優れているという世間一般の認識どおりに書いただけの話
例のconstで十分って話の続きよ
ほらよ。変数の値を変える方に書き換えてあげるよ。
$('.hoge').val(function(i, value) {
let v = parseInt(value);
for (let i = 0; i < 100; i++) { v += v; }
return v;
});
それが今回の$('.hoge')は一回で十分だろって話に
何の関係があるのか知らんが
な?これで証明できただろ?
ちゃんとしたjQueryの書き方で書いていれば、
変数に入れておきたいというシチュエーションがないってことが。
毎回取得すればいいし、取得した方が動的にページが変わっても対応できるし
結局、jQueryオブジェクトを変数に入れて置くのは作り方が悪いってことなんだよ。
ちゃんとしたjQueryの書き方で書いていれば、
変数に入れておきたいというシチュエーションがないってことが。
毎回取得すればいいし、取得した方が動的にページが変わっても対応できるし
結局、jQueryオブジェクトを変数に入れて置くのは作り方が悪いってことなんだよ。
template要素に最初にイベント付加しといて
importNodeでイベントもクローンしたいのですができますか?
http://jsfiddle.net/p1bnwqxz/
これですんなり行くと思ったら無理でした
なのでtemplateを諦めてしまったのです
http://jsfiddle.net/p1bnwqxz/1/
importNodeでイベントもクローンしたいのですができますか?
http://jsfiddle.net/p1bnwqxz/
これですんなり行くと思ったら無理でした
なのでtemplateを諦めてしまったのです
http://jsfiddle.net/p1bnwqxz/1/
>>925
動的に生成される要素に対して
イベントを予めつけるのは無理だよ
こういうのは、document(もしくは#test)に対してイベントを付けておけばいい
といってもjQueryなら簡単。単に引数を変えるだけ
まずは最小限の修正
http://jsfiddle.net/p1bnwqxz/2/
そして余計なものを削った
http://jsfiddle.net/p1bnwqxz/4/
応用(書き方のバリエーション)
http://jsfiddle.net/p1bnwqxz/5/
動的に生成される要素に対して
イベントを予めつけるのは無理だよ
こういうのは、document(もしくは#test)に対してイベントを付けておけばいい
といってもjQueryなら簡単。単に引数を変えるだけ
まずは最小限の修正
http://jsfiddle.net/p1bnwqxz/2/
そして余計なものを削った
http://jsfiddle.net/p1bnwqxz/4/
応用(書き方のバリエーション)
http://jsfiddle.net/p1bnwqxz/5/
ん? jQueryのcloneメソッドにはイベントごとクローンするオプションがあるのか?
でもtemplate要素と組み合わせるとうまくいかない?
興味がある人は試してみるのも良いかも
俺としては親要素にたいしてイベントつける方をすすめるけどね
イベントハンドラを一つしか作らなくていいから軽いはず
でもtemplate要素と組み合わせるとうまくいかない?
興味がある人は試してみるのも良いかも
俺としては親要素にたいしてイベントつける方をすすめるけどね
イベントハンドラを一つしか作らなくていいから軽いはず
あぁ、それが
> これですんなり行くと思ったら無理でした
> なのでtemplateを諦めてしまったので
の方か
> これですんなり行くと思ったら無理でした
> なのでtemplateを諦めてしまったので
の方か
>>926,927
>動的に生成される要素に対して
>親要素にたいして
なるほど
今まではイベントは、アクションのある要素一つ一つに(指定して)付加しないと発火しないものだと思っていました
(なので、後からappendされた要素になぜイベントが適用されてるんだろう・・と一瞬意味がわかりませんでした)
CSSみたいな感覚?で良かったのですね
今までもやもやしてた部分がスッキリしました
ありがとうございます
>動的に生成される要素に対して
>親要素にたいして
なるほど
今まではイベントは、アクションのある要素一つ一つに(指定して)付加しないと発火しないものだと思っていました
(なので、後からappendされた要素になぜイベントが適用されてるんだろう・・と一瞬意味がわかりませんでした)
CSSみたいな感覚?で良かったのですね
今までもやもやしてた部分がスッキリしました
ありがとうございます
>>923
$('#hoge')の「処理を」というより「値を」ということでは
$('#hoge')の「処理を」というより「値を」ということでは
>>930
何が言いたいかわからない。
いまの話題は$('#hoge')を$hogeに入れておく必要はないよって話
DOM要素が変化する可能性を考えると、最新のDOMに追従するために
その都度取得した方がいいし、それによる速度低下も殆ど無い
なにより大抵の場合はイベントハンドラ呼び出しごとに1回の取得ですむ
何が言いたいかわからない。
いまの話題は$('#hoge')を$hogeに入れておく必要はないよって話
DOM要素が変化する可能性を考えると、最新のDOMに追従するために
その都度取得した方がいいし、それによる速度低下も殆ど無い
なにより大抵の場合はイベントハンドラ呼び出しごとに1回の取得ですむ
入れておいた方がいいというか、入れない方が自然で誰もが読める場合はすでに出てる
最新のDOMに追従はその通りだが変数使わないで無理に不自然にする必要もない
それと負けず嫌いほど論破という言葉を使うのはどの板も同じだな
最新のDOMに追従はその通りだが変数使わないで無理に不自然にする必要もない
それと負けず嫌いほど論破という言葉を使うのはどの板も同じだな
ローカルとかそういう問題じゃなくて
どういう時に変数に入れて2回以上使うかの
コードを書けばいいだけ
どういう時に変数に入れて2回以上使うかの
コードを書けばいいだけ
他スレにもいたがコード書いて一生懸命なのはありがたいがかなり特殊だよな。
jQuery 3.2でtemplate要素に対応していたんだな
.contents()で中の要素を参照することができる
.contents()で中の要素を参照することができる
まあjQueryでWeb Compornentsをやるとか旗から見たらタダのjQuery依存症だけどな
でもWeb Componentsサポートの機能も入ってるよw
http://github.com/jquery/jquery/wiki/Roadmap
Improve support for "Web Components" features like ShadowRoot
http://github.com/jquery/jquery/wiki/Roadmap
Improve support for "Web Components" features like ShadowRoot
jQuery自体が仮想DOM的な要素も持っているから相容れないよね
>>942
知らない話に無理に参加する必要はないぞw
jQueryと仮想DOMは全く関係ないし
Shadow DOMの間違いだとしてもjQueryとは関係ない
jQuery UIの話だとしても、将来jQuery UIをShadow DOMで
実装するというアイデアは誰だって思いつくだろう
知らない話に無理に参加する必要はないぞw
jQueryと仮想DOMは全く関係ないし
Shadow DOMの間違いだとしてもjQueryとは関係ない
jQuery UIの話だとしても、将来jQuery UIをShadow DOMで
実装するというアイデアは誰だって思いつくだろう
>>933
var str = $('#manko').text();
$('.chinko').each(function(){
$(this).css('color', $(this).text() == str ? red : blue);
});
var str = $('#manko').text();
$('.chinko').each(function(){
$(this).css('color', $(this).text() == str ? red : blue);
});
↑ jQueryオブジェクトを変数に入れる必要がない例
(このようにthisを使えば良いんやで)
(このようにthisを使えば良いんやで)
>>944
redとblueが定義されてない
redとblueが定義されてない
>>944
長い
var str = $('#manko').text();
$('.chinko').css('color', function() {
return $(this).text() == str ? "red" : "blue";
});
長い
var str = $('#manko').text();
$('.chinko').css('color', function() {
return $(this).text() == str ? "red" : "blue";
});
つーか、この話題。質問者の次のレスで解決してる話なんかw
892 名前:Name_Not_Found[sage] 投稿日:2017/11/03(金) 04:58:11.05 ID:???
イベント内であるノードを操作するとき、
その度に取得したらいいのかそれとも変数に格納しておくのが良いのか
よくわからないのでどちらがいいのか教えてください
$hoge=$('#hoge');
$('button#fuga').click(function(){ $hoge.text('操作'); });
//がいいのか、それとも
$('button#fuga').click(function(){ $('#hoge').text('操作') });
//がいいのか
//双方メリットデメリットがあるのか、など
893 名前:Name_Not_Found[sage] 投稿日:2017/11/03(金) 08:47:53.21 ID:???
せっかくjQuery使ってるのにわざわざキャッシュとかする必要ないよ
できるだけ簡潔に書けばいい
892 名前:Name_Not_Found[sage] 投稿日:2017/11/03(金) 04:58:11.05 ID:???
イベント内であるノードを操作するとき、
その度に取得したらいいのかそれとも変数に格納しておくのが良いのか
よくわからないのでどちらがいいのか教えてください
$hoge=$('#hoge');
$('button#fuga').click(function(){ $hoge.text('操作'); });
//がいいのか、それとも
$('button#fuga').click(function(){ $('#hoge').text('操作') });
//がいいのか
//双方メリットデメリットがあるのか、など
893 名前:Name_Not_Found[sage] 投稿日:2017/11/03(金) 08:47:53.21 ID:???
せっかくjQuery使ってるのにわざわざキャッシュとかする必要ないよ
できるだけ簡潔に書けばいい
$('#fuga').on('click', function(){ $('#hoge').text('操作'); });
IDセレクタに要素名は不要
var $manko = $('#manko');
$('.chinko').each(function(){
if ($manko.text() == $(this).text()) { testが等しい場合の処理 }
else if ($manko.attr('id') == $(this).text()) { idが等しい場合の処理 }
});
こういうケースはキャッシュするべき
若干でも明らかに速度が違ってくる
IDセレクタに要素名は不要
var $manko = $('#manko');
$('.chinko').each(function(){
if ($manko.text() == $(this).text()) { testが等しい場合の処理 }
else if ($manko.attr('id') == $(this).text()) { idが等しい場合の処理 }
});
こういうケースはキャッシュするべき
若干でも明らかに速度が違ってくる
前へ 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 次へ / 要望・削除依頼は掲示板へ / 管理情報はtwitterで / JavaScript スレッド一覧へ
みんなの評価 : 類似してるかもしれないスレッド
- + JavaScript & jQuery 質問用スレッド vol.7 + (701) - [100%] - 2022/12/19 17:15
- + JavaScript & jQuery 質問用スレッド vol.8 + (1001) - [98%] - 2019/2/9 14:00
- + JavaScript & jQuery 質問用スレッド vol.6 + (980) - [98%] - 2016/11/20 14:31
- + JavaScript & jQuery 質問用スレッド vol.5 + (993) - [98%] - 2016/6/11 14:30
- + JavaScript の質問用スレッド vol.76 + (1001) - [72%] - 2010/3/10 4:02
- + JavaScript の質問用スレッド vol.87 + (1001) - [72%] - 2011/6/21 6:33
- + JavaScript の質問用スレッド vol.78 + (1001) - [72%] - 2010/6/25 3:53
- + JavaScript の質問用スレッド vol.79 + (1001) - [72%] - 2010/9/11 6:50
- + JavaScript の質問用スレッド vol.77 + (1001) - [72%] - 2010/5/8 19:06
- + JavaScript の質問用スレッド vol.97 + (1001) - [72%] - 2012/3/1 3:31
- + JavaScript の質問用スレッド vol.74 + (1001) - [72%] - 2009/12/1 6:08 ○
- + JavaScript の質問用スレッド vol.75 + (1001) - [72%] - 2010/1/23 1:07 ○
トップメニューへ / →のくす牧場書庫について