のくす牧場
コンテンツ
牧場内検索
カウンタ
総計:127,644,995人
昨日:no data人
今日:
最近の注目
人気の最安値情報

元スレ【jQuery】JavaScript ライブラリ総合質問所 vol.2

JavaScript覧 / PC版 /
スレッド評価: スレッド評価について
みんなの評価 :
タグ : 追加: タグについて ※前スレ・次スレは、スレ番号だけ登録。駄スレにはタグつけず、スレ評価を。荒らしタグにはタグで対抗せず、タグ減点を。
←前へ 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 次へ→ / 要望・削除依頼は掲示板へ / 管理情報はtwitter

51 = :

プラグイン作ってたんでそのときの消し忘れ・・・

53 = :

もしかして:URL載せなければ良いのでは

54 = :

>>48
申し訳ありません、タイポとはなんでしょう?ぐぐってもタイポグラフィしか出てこない…
改善策ありがとうございます。なんとか考えてみているところです

>>49
なるほど、これはいけるかもしれません。今から試してみます!
ありがとうございます。

>>50
実は同じfunctionの中に別処理もかましていまして、その処理に必要なのです

55 = :

>>54
禁煙してる時に加える奴だよ

56 = :

>>55
「私はコレで会社を辞めました」ってやつですね

全然違うサイトを見ていたら偶然載っていたんですが、どうやらtypoはタイプミスのことっぽいですね

57 :

>>53
レスありがとうございます
もとの記事は自分が記載したものではないのです。自動化の部分でヒントだけでもお願いします

59 = :

>>57
アンカーの文字は
$('a').html(書き換える文字);
で書き換え

↑だと画面全体のaタグが書き換わるので
$('#linkBoxDivId').$('.replaceAnchorClass').html();
とか指定する

↑だと全部一つの言葉しか指定できないから
$(指定するa).each(function(){
var a=$(this);
var href=a.attr('href');//hrefの値取り出す
href= 適当な変換処理
a.html(href);
});
みたいな感じ?
何がしたいのかがよく分からんからなんとも

60 = :

ありがたきしあわせでございます。

えっと、なにがしたいかといいますと
預かったhtmlファイルは同じdivコンテナの中に

日本語のテキストの
<a href="http://www.....">こんにちわ</a>と
前述のurlむき出しの
<a href="http://www.....長い......">http://www....長い.....</a>と
がただだらだら並列に存在していて

そのうちの
<a href="http://www.....長い......">http://www....長い.....</a>だけ
操作する方法がわからないのです><

Pクラスとかで括ってないので
全部があきかわっちゃいます><

61 = :

http://jsfiddle.net/LbUKv/

そもそもjQueryかすらわからんし、説明が曖昧で、
内容がよく掴めないので、的外れでも知らない

64 = :

$('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/
のサンプルコードを参考にしています。以上、ご教授のほどよろしくお願いします。

65 = :

ぱっと見だけど、thisが何か最初は分かりにくいからわざわざ上の書き方してるんじゃない?
each内のスコープを理解してるなら下で良い思う。

66 = :

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。

67 = :

メッセージ受付フォームのページを用意するとして
1日に一通しか送れないようにするにはどんな方法がいいですか?

24時間経過しないと
・submitボタンがdisabled
・アテンションが出てたフォーム非表示
みたいな感じでしょうか?

好きにしろと言われそうですがそこをなんとかお願いします

68 = :

JavaScriptのライブラリがどう関係するのかわからないが、
少なくても入力欄に入力することができないようにしないと、
入力後にそれを知ったときの絶望感は果てしないと思う

69 = :

>>67
jquery.cookie使ったら?
送信後にクッキー書き込む。
24時間後にクッキー削除。

クッキーがある間はボタン押せない。

70 :

それだとクッキーを自分で削除したら、何度でも押せませんか?

71 = :

↑これphpなどに渡さずに
jQueryだけでいけたら超クールだね

72 = :

ずーっと通信しっぱなしにして管理するとか、
そういう外道な手しか無いような気がする

73 = :

クッキー消したら、みたいな話するならそもそもJavaScriptの実行止められたらどうしようもないだろ。
根本的にはサーバ側でしかできんよ。

74 = :

twitterのアカウント作って裏で通信してログ代わりみたいな事出来んかな。ふと思いついたんだけど

75 = :

何故Twitter?

76 = :

いや、最初に思い出しただけでAPI使えて何かしらデータ残せるなら可能性あるなと。自分のアカウントならOAuth突破自動化出来るんじゃない?

78 = :

>>64
jQueryと第一引数、クロージャ。難しい
http://en.yummy.stripper.jp/?eid=1353835

79 = :

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を同じ形で扱って実現するにはどうすれば
いいでしょうか?

82 = :

Chrome ExtensionやFirefoxのグリモンスクリプトで、ツール作っているのですが、
対象が、時によって変化し、時に79の1)の型、時に2)の型になり、時にリンク無しとなります。

要は、その場所をクリックして移動したいので
 1)の時は、location.href=$('#link1').attr('herf');
2)の時は、$('#link1').click();
とケース別に対応すればいいのですが、
1)の場合も$('#link1').click()で飛んでくれたら楽じゃないですかw。
画面でクリックはそうなるんですから。

ということでの質問です。

83 = :

>>82
ごめんまだちょっと分からないんだけど、jsで扱いたい箇所は何?hrefの値?クリックイベント?
読んだ感じでただ飛ぶだけなら何もしなくても飛ぶよね。
何かしら処理入れるなら、$('#link1').click()でまとめる事は出来ても事前に処理は要ると思う。セレクタを工夫するにしても

84 = :

>>82
ああ、リンクなしになるって書いてるな。

85 = :

>>82
とりあえずただ短く指定するなら
(($('#link1')||$('link1').find('span')).click();

87 = :

なんでもいいのですが、
例えば、株価をチェックするルーチンをぐるぐる回していて、株価が設定した値になったら、
購入のボタンをクリックしたい。

その購入のボタンが、状況によって、1)の形になったり、2)の形に変る。
で・・・・クリックするのに、画面操作ではクリックで済むが、
jsで実行するには、jqueryだと場合わけしないといけないみたい。
もしかしたら、知らないだけでjqueryでも場合わけしないで処理できるのか?
他のメジャーなライブラリーではclickで飛ぶライブラリーがあるのか?

ということです。

もしくは、jqueryのこういうポリシーで、79の1)のケースはリンク先に飛ばない・・・と
いう説明でもいいかもしれません。それならそれで、納得して自作ライブラリーでも
作ります。

88 = 80 :

なんでもいい

89 = :

>>87
?んん??自動化したいって事?jsでボタンを押したいみたいに読めるけど。ますます分からん

90 = :

>>85
1のケースで
$('#link1").click()は、onclickで設定されているイベントを実行するだけで
リンク先に飛びません。
なので困ってるわけです。

(ちなみにjquery 1.7.2で試してます。)

92 = :

まず、リンク先に飛ぶのにclickイベントは関係ない。
それで、hrefの値を取りたいなら
($('#link1').attr('href')||$('#link1').parent().attr('href'))
で取れる。
それでlocation.hrefなりすれば良い。

けど、js向きの案件ではないねそれ

93 = :

1のケースはjsで何もせんかったら飛ぶよそりゃ

94 = :

>>92
clickで飛ばないのが標準なのですか

つまり、79のケースで2)の動作がおかしい?

95 = :

いや、1も2も正しい動作で1は元々のクリックイベントが塗り変わってる

96 = :

>>93
と、思ってやってるんですけれど、飛ばないので
やってきてるわけで。

97 = :

click( に何を書いてる?ひょっとしてclick()でただリンク先に飛ぶと考えてる?

99 = :

>>97
ああ、やっと話が通じてきたようなw
()には何も書いてません。

最初2のケースに出会い、
飛ばないかもしれない、でも飛んだらいいなと思って、
2のケースで試して飛んだ。

で、1のケースは飛ばない・・・

なぜに?

ということです。

100 = :

いちばん問題なのは質問者の具体性に欠けた説明不足による混乱


←前へ 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 次へ→ / 要望・削除依頼は掲示板へ / 管理情報はtwitterで / JavaScript一覧へ
スレッド評価: スレッド評価について
みんなの評価 :
タグ : 追加: タグについて ※前スレ・次スレは、スレ番号だけ登録。駄スレにはタグつけず、スレ評価を。荒らしタグにはタグで対抗せず、タグ減点を。

類似してるかもしれないスレッド


トップメニューへ / →のくす牧場書庫について