私的良スレ書庫
不明な単語は2ch用語を / 要望・削除依頼は掲示板へ。不適切な画像報告もこちらへどうぞ。 / 管理情報はtwitterでログインするとレス評価できます。 登録ユーザには一部の画像が表示されますので、問題のある画像や記述を含むレスに「禁」ボタンを押してください。
元スレ【jQuery】JavaScript ライブラリ総合質問所 vol.2

みんなの評価 :
レスフィルター : (試験中)
>>54
禁煙してる時に加える奴だよ
禁煙してる時に加える奴だよ
>>57
アンカーの文字は
$('a').html(書き換える文字);
で書き換え
↑だと画面全体のaタグが書き換わるので
$('#linkBoxDivId').$('.replaceAnchorClass').html();
とか指定する
↑だと全部一つの言葉しか指定できないから
$(指定するa).each(function(){
var a=$(this);
var href=a.attr('href');//hrefの値取り出す
href= 適当な変換処理
a.html(href);
});
みたいな感じ?
何がしたいのかがよく分からんからなんとも
アンカーの文字は
$('a').html(書き換える文字);
で書き換え
↑だと画面全体のaタグが書き換わるので
$('#linkBoxDivId').$('.replaceAnchorClass').html();
とか指定する
↑だと全部一つの言葉しか指定できないから
$(指定するa).each(function(){
var a=$(this);
var href=a.attr('href');//hrefの値取り出す
href= 適当な変換処理
a.html(href);
});
みたいな感じ?
何がしたいのかがよく分からんからなんとも
ありがたきしあわせでございます。
えっと、なにがしたいかといいますと
預かったhtmlファイルは同じdivコンテナの中に
日本語のテキストの
<a href="http://www.....">こんにちわ</a>と
前述のurlむき出しの
<a href="http://www.....長い......">http://www....長い.....</a>と
がただだらだら並列に存在していて
そのうちの
<a href="http://www.....長い......">http://www....長い.....</a>だけ
操作する方法がわからないのです><
Pクラスとかで括ってないので
全部があきかわっちゃいます><
えっと、なにがしたいかといいますと
預かったhtmlファイルは同じdivコンテナの中に
日本語のテキストの
<a href="http://www.....">こんにちわ</a>と
前述のurlむき出しの
<a href="http://www.....長い......">http://www....長い.....</a>と
がただだらだら並列に存在していて
そのうちの
<a href="http://www.....長い......">http://www....長い.....</a>だけ
操作する方法がわからないのです><
Pクラスとかで括ってないので
全部があきかわっちゃいます><
$('button').click(function(){
$('div').each(function(index,domEle){
// domEle == this
$(domEle).toggleClass('change-font-style');
if($(this).is('#stop')){
$('span').text('Stopped at div index #' + index);
return false;
} }); });
<button>click me</button><span></span>
<div class="d1">aaa</div>
<div class="d2" id="stop">aaa</div>
<div class="d3">aaa</div>
ってのを作って、ちゃんと意図通りに動いたのはいいんですが、
いちいち each functionの引数にdomEle を定義する理由が分かりません。
下記のコードを試してみましたが問題なく動きました。
(Mac Firefox でしか検証していませんが)
$('button').click(function(){
$('div').each(function(index){
$(this).toggleClass('change-font-style');
if($(this).is('#stop')){
$('span').text('Stopped at div index #' + index);
return false;
} }); });
この両者のコードの違いは何なのでしょうか?
違いがあるとすればどういう場面でその違いを実感することができるのでしょうか?
また、domEleが自動的にthisに解釈される仕組みがよく分かりません。
ちなみにhttp://semooh.jp/jquery/api/core/each/callback/
のサンプルコードを参考にしています。以上、ご教授のほどよろしくお願いします。
$('div').each(function(index,domEle){
// domEle == this
$(domEle).toggleClass('change-font-style');
if($(this).is('#stop')){
$('span').text('Stopped at div index #' + index);
return false;
} }); });
<button>click me</button><span></span>
<div class="d1">aaa</div>
<div class="d2" id="stop">aaa</div>
<div class="d3">aaa</div>
ってのを作って、ちゃんと意図通りに動いたのはいいんですが、
いちいち each functionの引数にdomEle を定義する理由が分かりません。
下記のコードを試してみましたが問題なく動きました。
(Mac Firefox でしか検証していませんが)
$('button').click(function(){
$('div').each(function(index){
$(this).toggleClass('change-font-style');
if($(this).is('#stop')){
$('span').text('Stopped at div index #' + index);
return false;
} }); });
この両者のコードの違いは何なのでしょうか?
違いがあるとすればどういう場面でその違いを実感することができるのでしょうか?
また、domEleが自動的にthisに解釈される仕組みがよく分かりません。
ちなみにhttp://semooh.jp/jquery/api/core/each/callback/
のサンプルコードを参考にしています。以上、ご教授のほどよろしくお願いします。
ぱっと見だけど、thisが何か最初は分かりにくいからわざわざ上の書き方してるんじゃない?
each内のスコープを理解してるなら下で良い思う。
each内のスコープを理解してるなら下で良い思う。
thisに解釈される仕組み、って言うか
each自体が元々取り出したものを投げ入れるルール。
例えばclass="some"で指定したタグが何個かあるとして
class="some" id="a1"
class="some" id="a2"
class="some" id="a3"
$('.some').each(function(){
alert(this); // この中のthisはsomeの一つ一つそのもの、例えば"a1"
$(this).処理 // 大抵はjQueryオブジェクトに変換して使う
});
alert(this); // eachループを抜けた後はそこのスコープのthis。
each自体が元々取り出したものを投げ入れるルール。
例えばclass="some"で指定したタグが何個かあるとして
class="some" id="a1"
class="some" id="a2"
class="some" id="a3"
$('.some').each(function(){
alert(this); // この中のthisはsomeの一つ一つそのもの、例えば"a1"
$(this).処理 // 大抵はjQueryオブジェクトに変換して使う
});
alert(this); // eachループを抜けた後はそこのスコープのthis。
メッセージ受付フォームのページを用意するとして
1日に一通しか送れないようにするにはどんな方法がいいですか?
24時間経過しないと
・submitボタンがdisabled
・アテンションが出てたフォーム非表示
みたいな感じでしょうか?
好きにしろと言われそうですがそこをなんとかお願いします
1日に一通しか送れないようにするにはどんな方法がいいですか?
24時間経過しないと
・submitボタンがdisabled
・アテンションが出てたフォーム非表示
みたいな感じでしょうか?
好きにしろと言われそうですがそこをなんとかお願いします
JavaScriptのライブラリがどう関係するのかわからないが、
少なくても入力欄に入力することができないようにしないと、
入力後にそれを知ったときの絶望感は果てしないと思う
少なくても入力欄に入力することができないようにしないと、
入力後にそれを知ったときの絶望感は果てしないと思う
ずーっと通信しっぱなしにして管理するとか、
そういう外道な手しか無いような気がする
そういう外道な手しか無いような気がする
クッキー消したら、みたいな話するならそもそもJavaScriptの実行止められたらどうしようもないだろ。
根本的にはサーバ側でしかできんよ。
根本的にはサーバ側でしかできんよ。
twitterのアカウント作って裏で通信してログ代わりみたいな事出来んかな。ふと思いついたんだけど
いや、最初に思い出しただけでAPI使えて何かしらデータ残せるなら可能性あるなと。自分のアカウントならOAuth突破自動化出来るんじゃない?
あ、あれだ。Google AnalyticsのAPIでイケるよ。jsだけで一日書き込み禁止。
自分のサーバ使った方が百倍楽そうだけど
自分のサーバ使った方が百倍楽そうだけど
jqueryにおけるclick()の挙動について教えてください。
質問1
下記のそれぞれの記述において、$('#link1').click()を実行すると
1)のケースでは何もしない、2)のケースではリンク先に移動で正しいでしょうか?
1)
<a href="hoge.html" id="link1">hoge</a>
2)
<a href="hoge.html"><span id="link1">hoge</span></a>
質問2
両方とも、画面でクリックすればリンク先に移動しますが、
javascriptで1と2を同じ形で扱って実現するにはどうすれば
いいでしょうか?
質問1
下記のそれぞれの記述において、$('#link1').click()を実行すると
1)のケースでは何もしない、2)のケースではリンク先に移動で正しいでしょうか?
1)
<a href="hoge.html" id="link1">hoge</a>
2)
<a href="hoge.html"><span id="link1">hoge</span></a>
質問2
両方とも、画面でクリックすればリンク先に移動しますが、
javascriptで1と2を同じ形で扱って実現するにはどうすれば
いいでしょうか?
Chrome ExtensionやFirefoxのグリモンスクリプトで、ツール作っているのですが、
対象が、時によって変化し、時に79の1)の型、時に2)の型になり、時にリンク無しとなります。
要は、その場所をクリックして移動したいので
1)の時は、location.href=$('#link1').attr('herf');
2)の時は、$('#link1').click();
とケース別に対応すればいいのですが、
1)の場合も$('#link1').click()で飛んでくれたら楽じゃないですかw。
画面でクリックはそうなるんですから。
ということでの質問です。
対象が、時によって変化し、時に79の1)の型、時に2)の型になり、時にリンク無しとなります。
要は、その場所をクリックして移動したいので
1)の時は、location.href=$('#link1').attr('herf');
2)の時は、$('#link1').click();
とケース別に対応すればいいのですが、
1)の場合も$('#link1').click()で飛んでくれたら楽じゃないですかw。
画面でクリックはそうなるんですから。
ということでの質問です。
>>82
ごめんまだちょっと分からないんだけど、jsで扱いたい箇所は何?hrefの値?クリックイベント?
読んだ感じでただ飛ぶだけなら何もしなくても飛ぶよね。
何かしら処理入れるなら、$('#link1').click()でまとめる事は出来ても事前に処理は要ると思う。セレクタを工夫するにしても
ごめんまだちょっと分からないんだけど、jsで扱いたい箇所は何?hrefの値?クリックイベント?
読んだ感じでただ飛ぶだけなら何もしなくても飛ぶよね。
何かしら処理入れるなら、$('#link1').click()でまとめる事は出来ても事前に処理は要ると思う。セレクタを工夫するにしても
>>82
ああ、リンクなしになるって書いてるな。
ああ、リンクなしになるって書いてるな。
シャープ抜けた
(($('#link1')||$('#link1').find('span')).click();
(($('#link1')||$('#link1').find('span')).click();
なんでもいいのですが、
例えば、株価をチェックするルーチンをぐるぐる回していて、株価が設定した値になったら、
購入のボタンをクリックしたい。
その購入のボタンが、状況によって、1)の形になったり、2)の形に変る。
で・・・・クリックするのに、画面操作ではクリックで済むが、
jsで実行するには、jqueryだと場合わけしないといけないみたい。
もしかしたら、知らないだけでjqueryでも場合わけしないで処理できるのか?
他のメジャーなライブラリーではclickで飛ぶライブラリーがあるのか?
ということです。
もしくは、jqueryのこういうポリシーで、79の1)のケースはリンク先に飛ばない・・・と
いう説明でもいいかもしれません。それならそれで、納得して自作ライブラリーでも
作ります。
例えば、株価をチェックするルーチンをぐるぐる回していて、株価が設定した値になったら、
購入のボタンをクリックしたい。
その購入のボタンが、状況によって、1)の形になったり、2)の形に変る。
で・・・・クリックするのに、画面操作ではクリックで済むが、
jsで実行するには、jqueryだと場合わけしないといけないみたい。
もしかしたら、知らないだけでjqueryでも場合わけしないで処理できるのか?
他のメジャーなライブラリーではclickで飛ぶライブラリーがあるのか?
ということです。
もしくは、jqueryのこういうポリシーで、79の1)のケースはリンク先に飛ばない・・・と
いう説明でもいいかもしれません。それならそれで、納得して自作ライブラリーでも
作ります。
>>87
?んん??自動化したいって事?jsでボタンを押したいみたいに読めるけど。ますます分からん
?んん??自動化したいって事?jsでボタンを押したいみたいに読めるけど。ますます分からん
>>85
1のケースで
$('#link1").click()は、onclickで設定されているイベントを実行するだけで
リンク先に飛びません。
なので困ってるわけです。
(ちなみにjquery 1.7.2で試してます。)
1のケースで
$('#link1").click()は、onclickで設定されているイベントを実行するだけで
リンク先に飛びません。
なので困ってるわけです。
(ちなみにjquery 1.7.2で試してます。)
もしかして? 1)のケースでリンク先に飛ぶのですか?
Windows XP SP2でIE8、Chrome23、Firefox12で飛ばないので・・・・
他の環境で飛ぶのであれば、その環境を教えてください。
Windows XP SP2でIE8、Chrome23、Firefox12で飛ばないので・・・・
他の環境で飛ぶのであれば、その環境を教えてください。
まず、リンク先に飛ぶのにclickイベントは関係ない。
それで、hrefの値を取りたいなら
($('#link1').attr('href')||$('#link1').parent().attr('href'))
で取れる。
それでlocation.hrefなりすれば良い。
けど、js向きの案件ではないねそれ
それで、hrefの値を取りたいなら
($('#link1').attr('href')||$('#link1').parent().attr('href'))
で取れる。
それでlocation.hrefなりすれば良い。
けど、js向きの案件ではないねそれ
click( に何を書いてる?ひょっとしてclick()でただリンク先に飛ぶと考えてる?
ひょっとしてやりたいのはこれか?
location.href=($('#link1').attr('href')||$('#link1').parent().attr('href'));
location.href=($('#link1').attr('href')||$('#link1').parent().attr('href'));
>>97
ああ、やっと話が通じてきたようなw
()には何も書いてません。
最初2のケースに出会い、
飛ばないかもしれない、でも飛んだらいいなと思って、
2のケースで試して飛んだ。
で、1のケースは飛ばない・・・
なぜに?
ということです。
ああ、やっと話が通じてきたようなw
()には何も書いてません。
最初2のケースに出会い、
飛ばないかもしれない、でも飛んだらいいなと思って、
2のケースで試して飛んだ。
で、1のケースは飛ばない・・・
なぜに?
ということです。



類似してるかもしれないスレッド
- 【jQuery】JavaScript ライブラリ総合質問所 vol.3 (1001) - [98%] - 2014/6/18 20:58 △
- 【jQuery】JavaScript ライブラリ総合質問所 vol.1 (983) - [98%] - 2012/10/8 22:30
- JavaScript ライブラリ総合質問所 vol.5 (344) - [75%] - 2022/3/14 17:45
- JavaScript ライブラリ総合質問所 vol.4 (985) - [75%] - 2015/12/16 15:00
- jQuery ライブラリ 総合質問所 vol.4 (986) - [65%] - 2016/1/12 15:15
- 1行javascriptプログラミング (431) - [30%] - 2022/8/23 15:30
トップメニューへ / →のくす牧場書庫について