【誰か】jQueryのここがわからない【助けて】

このエントリーをはてなブックマークに追加
1デフォルトの名無しさん
¥マークなどの特殊な文字列について質問させてください。

<script type="text/javascript">
$(document).ready(function(){
$("td:contains('\\')").css("text-align","right");
})
</script>

<table>
<tr>
<td>商品名</td>
<td>価格</td>
</tr>
<tr>
<td>iPod</td>
<td>¥10,000</td>
</tr>
</table>

このようにして、\の付いている価格だけを右揃えにしようとし、
¥は¥でエスケープさせました。

この方法はWINでは上手くいったのですが、
MACの環境だと¥が\(バックスラッシュ)になってしまったそうです。

そこで¥を&yen;などにしてみたのですが、そもそもCSSが効かなくなってしまいました。

どのように記述すればCSSを効かすことができ、さらにWIN、MAC両方で文字化けを防げるのでしょうか?

よろしくお願いします。

※jQuery歴は2週間程度です。
2デフォルトの名無しさん:2008/12/22(月) 03:09:16
終了!
3デフォルトの名無しさん:2008/12/22(月) 03:58:58
このスレッドは天才チンパンジー「アイちゃん」が
言語訓練のために立てたものです。

アイと研究員とのやり取りに利用するスレッドなので、
関係者以外は書きこまないで下さい。

                  京都大学霊長類研究所

4デフォルトの名無しさん:2008/12/22(月) 10:29:42
アイちゃんの言語野はまじパネェけど
前頭連合野が未発達なのが惜しい
とはいえ、チンパンジーがjQueryの質問を自発的に行うということが
何か新しい可能性を感じさせる
これは良スレになる予感
5デフォルトの名無しさん:2008/12/22(月) 10:40:59
ジェイキューエルィwww
ピロトティペテンジェイエス使えよ素人www
6デフォルトの名無しさん:2008/12/22(月) 13:15:21
>>1

2chは初めてですか?
少しは調べてから書きましょう
7デフォルトの名無しさん:2008/12/22(月) 13:20:44
jQuery の問題じゃないし。
板違いだし。
8デフォルトの名無しさん:2008/12/22(月) 13:47:57
Vipでやれ
9デフォルトの名無しさん:2008/12/22(月) 16:22:21
aQueryからきちんと順を追ってやったのかな?
いきなりjQueryは中級者以上じゃないと難しいだろ
10デフォルトの名無しさん:2008/12/22(月) 17:13:25
mQueryのダンジョンで苦戦したなぁ
11デフォルトの名無しさん:2008/12/30(火) 07:01:29
どうせだし、ここは「jQuery の質問スレッド」にしようぜ。
12デフォルトの名無しさん:2008/12/30(火) 08:19:21
ついでだし、ここは「Prototypeも同居」にしようぜ。
13デフォルトの名無しさん:2008/12/30(火) 14:00:23
Prototypeはちょっと
14デフォルトの名無しさん:2009/01/11(日) 22:45:24
jqueryの質問OKとのことなので質問します。

要素に対しHTMLを追加したいのですが、<>この記号が含まれているとタグと解釈するため
困っています。タグと解釈させない方法はあるのでしょうか?

//こんな感じ
$("body").append("<TEST>");
15デフォルトの名無しさん:2009/01/11(日) 22:47:34
><
ってかjQuery以前の問題だが
16デフォルトの名無しさん:2009/01/11(日) 22:48:16
ああ変換されちゃった
&gt; &lt;
17デフォルトの名無しさん:2009/01/11(日) 22:48:34
>>15

<>は、<とかで置換してるんですけど、それでもだめですねぇ・・・。
謎が解けないです。
18デフォルトの名無しさん:2009/01/11(日) 22:49:25
あ、変換されちゃた。
&gt;&lt;を使ってもタグ扱いにされてしまうんです。
どうしたらいいんでしょう。
19デフォルトの名無しさん:2009/01/11(日) 22:52:25
&gt;
20デフォルトの名無しさん:2009/01/11(日) 23:00:09
あ、できました。
何か勘違いしていたようです。

ありがとうございました。
21デフォルトの名無しさん:2009/01/12(月) 02:02:07
せめてどうやったら出来たのか書いてくれ
22デフォルトの名無しさん:2009/01/15(木) 02:35:22
板違いというが
jQueryのスレってどの板にもないんだよなぁ
ム板じゃなけりゃWebProg板なのか?Web制作板なのか?
23デフォルトの名無しさん:2009/01/15(木) 10:48:31
いちライブラリの話題を扱うスレの需要がないんだろ
jQueryの話題も扱ってるスレ、ならある
http://pc11.2ch.net/test/read.cgi/hp/1127340053/
http://pc11.2ch.net/test/read.cgi/php/1166751613/
24デフォルトの名無しさん:2009/01/30(金) 16:53:14
test.php が「hello」と返す場合、

var a;
jQuery.get("test.php", function (data) { a = data; });
alert(a);

としたら hello と alert が出てほしいのですが
undefined になります…。
hello と出るようにするにはどのようにしたらいいでしょうか。

よろしくお願いします。
25デフォルトの名無しさん:2009/01/30(金) 22:32:02
getの呼び出しは単に第二引数をコールバックとして登録してるだけで、受信するまでブロックするわけではない。
また、この場合のローカル変数aはfunction(){...} 内では定数のように振る舞う(クロージャ)のでそこでaに値を代入してもエラーになるだけ。
それに、そんなことができたとしてもコードの実行順序からして意味がない。
これぐらい普通小学校で習っただろ!困ったちゃんだなまったくもう。
2624:2009/01/31(土) 11:38:24
>>25
そうですよね。>実行順序

他言語の参照渡しや、遅延評価的な仕組みで取得する方法はありませんか?
27デフォルトの名無しさん:2009/02/02(月) 08:59:29
コールバック関数の中でalertよべばいいだけジャネーノ
28デフォルトの名無しさん:2009/02/08(日) 20:31:20
あまりに低レベルな質問ばかりでワロタ
29デフォルトの名無しさん:2009/02/08(日) 21:30:20
そもそもJavaScript解ってないんじゃないの
30デフォルトの名無しさん:2009/03/16(月) 17:40:23
Ruby の p や PHP の var_dump 的に
配列やオブジェクトの中身を表示する方法ない?
31デフォルトの名無しさん:2009/03/21(土) 09:53:12
そういうライブラリ公開してる人もいるけど
ttp://nazo.yi.org/nazonojs/?name=objectdump

デバッグ用途ならfirefox+firebugあたりで追った方がラクだと思うよ
32デフォルトの名無しさん:2009/03/21(土) 16:24:59
ねーよw
33デフォルトの名無しさん:2009/06/29(月) 15:04:41
<li> をドラッグ&ソートするプラグインはいくつかありますが、
<table> の <tr> 単位でドラッグしてソートできるプラグインはありませんか?
34デフォルトの名無しさん:2009/07/17(金) 02:05:29
$.ってどういう意味ですか?
3534:2009/07/17(金) 02:19:00
自己解決しました。

ドキュメントにjQueryのエイリアスと書いてありました。
http://docs.jquery.com/Using_jQuery_with_Other_Libraries
36デフォルトの名無しさん:2009/07/17(金) 05:44:45
あまりに低レベル・・・
37デフォルトの名無しさん:2009/07/28(火) 20:56:19
$('[type="hidden"]')とかではとれるのに
$('[for="hoge"])がとれないんですがなぜ??

<script>
$(function(){
alert($('[type="hidden"]'));
alert($('[for="hoge"]'));
});
</script>
<input type="hidden" for="hoge" value="1" />
38デフォルトの名無しさん:2009/07/28(火) 20:57:13
まちがった

<script>
$(function(){
alert($('[type="hidden"]').val());
alert($('[for="hoge"]').val());
});
</script>
<input type="hidden" for="hoge" value="1" />
39デフォルトの名無しさん:2009/07/29(水) 20:49:07
>>38
input要素にfor属性なんてねーよ、ばーか
40デフォルトの名無しさん:2009/07/29(水) 20:54:19
baka=aaa
とかでもとれるからいいのかと思ってたんだけどダメなのね
ばーか
41デフォルトの名無しさん:2009/07/29(水) 20:59:53
>>40
jQueryのバージョン何?
俺のとこでは取れてるよん。
42デフォルトの名無しさん:2009/07/29(水) 21:05:17
ほんとですか!?
バージョンはjquery-1.3.2です。

なんでだろ他でポカやってんのかな…
43デフォルトの名無しさん:2009/08/01(土) 10:57:04
39は真性バカ
44デフォルトの名無しさん:2009/09/02(水) 22:26:05
困りに困って書き込ませていただきます。
助けてください。


onclick="return confirm('いいの?');"
なアンカーに対してjQueryのclickイベントに

$('hoge').click(function(e){
 //処理
 console.log(this);
 console.log(e);
});
上記のように処理を追加したとき
onclickでのリターンを取得することはできないでしょうか?

thisやeventやらをダンプしてみたのですが見当たらずコマています。


やりたいことはreturnでfalseが帰っている時はclick内の処理を行いたくないのです。
できるのでしたらお教えいただけると幸いです。
よろしくお願いします。
45デフォルトの名無しさん:2009/09/03(木) 06:14:16
$('hoge').click(function(e){
 //処理
 console.log(this);
 console.log(e);
return confirm('いいの?');
});
46デフォルトの名無しさん:2009/09/09(水) 00:41:47
いいわけねーだろーが!
47デフォルトの名無しさん:2009/09/11(金) 02:34:38
liveにready登録できないの?
$('#ajax .hide').live('ready', function(){
$(this).hide();
});

読み込んだ要素を即効消したいんだけどliveではむりですか?
48デフォルトの名無しさん:2009/09/11(金) 03:37:30
liveQueryで同じ事やってチッ結局できねーのかよ

と思ったら第一引数省いた↓でいけて自己解決です。

$('#ajax .hide').livequery(function(){
$(this).hide();
});

liveQueryさんすげー
しかもblurにもliveQueryあらバインドできたし。

そのうちliveは追いつくのかな?
49デフォルトの名無しさん:2009/09/19(土) 01:11:49
何千行もあるtableに対して、
$("tr").hover() やると、
読み込みに随分時間がかかるんですが、
何か回避策はないものでしょうか?
50デフォルトの名無しさん:2009/09/19(土) 22:32:32
このスレなんでweb板じゃなくてム板にあんの?
51デフォルトの名無しさん:2009/09/20(日) 01:34:29
アイちゃんがここにたてたからに決まっておろうが。
52デフォルトの名無しさん:2009/09/28(月) 16:54:19
サーバーサイドで実行できるjqueryのオープンソース phpquery

サーバー側でHTMLをjqueryで整形できるよ。

http://code.google.com/p/phpquery/

53デフォルトの名無しさん:2009/09/28(月) 17:00:15
$doc = phpQuery::newDocumentHTML("http://www.yahoo.co.jp/");

$html = $doc['div'] -> html();

サーバーサイド側でこんな簡単にHTMLが抜け出せる。
正規表現も使わないで済む。jqueryライクな書き方でOK
54デフォルトの名無しさん:2009/09/28(月) 17:10:07
あらら
simple_html_domってのがまさにそんな感じだから今まで使ってたけど
そっちのが良さげなら乗り換えようかな
55デフォルトの名無しさん:2009/10/05(月) 06:47:35
clickイベントに押されたボタンに応じた値を渡したいんだけど、
どうすればいいのん?
56デフォルトの名無しさん:2009/10/06(火) 00:09:11
$('input:submit').click(function(){
switch($(this).attr('id')) {
.........
....
.........
.......
}
});

こんなんでいいのか?
つーか、ちゃんとわかるように説明しろ

ばーかあほまぬけ糞
しんでこいヴぉけ
57デフォルトの名無しさん:2009/10/06(火) 04:17:37
>>56
最初のセレクタをidで指定するほうがスマートじゃないか?
58デフォルトの名無しさん:2009/10/06(火) 04:22:25
>>57
だったらそもそも55のような質問はないだろうと踏んだんだが?
俺が質問の意図を読めてないのか?もしかして
59デフォルトの名無しさん:2009/10/06(火) 04:52:10
渡しのためにケンカは止めて!><

ボタンを押すだろ?そうするとそのボタンに応じた反応をさせたいだろ?
で、そのボタンの反応が似たり寄ったりだったら関数化したいだろ?
つまり押したボタンに応じて関数に渡す変数を変えて、それで挙動を変えたいんですわ
このボタンクリックしたらフォームにほげが、このボタンクリックしたらフォームにふがが、みたいな感じで
だけどjQueryのクリックイベントだと渡しようがなくね?という疑問です
普通に onclick使うもん?
60デフォルトの名無しさん:2009/10/06(火) 05:09:20
このスレなんでweb板じゃなくてム板にあんの?
61デフォルトの名無しさん:2009/10/06(火) 05:20:12
>>58
なるほどなあ。
確かにそう読みとれるな。
62デフォルトの名無しさん:2009/10/06(火) 10:13:49
>>59
じゃあ>>56でいいんじゃないのかよ

てか意味不明なんだよ
63デフォルトの名無しさん:2009/10/06(火) 11:56:19
>>56の書き方だと、結局idをセレクタにするのと同じことを冗長にして
重くなっただけじゃないのか?
64デフォルトの名無しさん:2009/10/06(火) 12:20:08
なんで?おなじファンクション通したいならID複数並べてセレクタ指定しても、
$('input:submit')でも同じじゃん。
どうせあとでIDで振り分けるんでしょ?
要は

$('#id1, #id2, #id3').click(function(){
//id1なら以下の処理
//id2なら以下の処理
//id3なら以下の処理
});

てやりたいんじゃないのこの人?
これなら>56といっしょじゃんね?

つーか↓こういうことか?

$(function(){
$('input:submit').click(function(){
var $title = $('this').attr('title');
switch($title){
case.....
case.....
case.....
}
});
});

<input type="submit" title="渡す値">
<input type="submit" title="渡す値2">
65デフォルトの名無しさん:2009/10/06(火) 14:09:30
俺も便乗で質問なんだけど、>>64はなんでそんなに頭悪いの?
66デフォルトの名無しさん:2009/10/06(火) 14:25:02
えっ?
67デフォルトの名無しさん:2009/10/06(火) 19:33:19
質問する前に少しは考えるなり調べるなりしろよ・・・
検索すればすぐにわかるんだろそんなこと
6864:2009/10/06(火) 19:53:39
>>65
ちゃんと突っ込んでくれるか?
何が言いたいのかわからん
69デフォルトの名無しさん:2009/10/07(水) 00:33:07
jsとhtmlがほぼ分離されてる
サーバーから吐くhtmlの中にonclickで起動するボタンやらリンクらやがあり、その呼び出される関数の引数は動的に変わる
この状態でjQueryを導入したいと考えた場合、onclickの変わりにどのような動作をさせるのが普通なのか
70デフォルトの名無しさん:2009/10/07(水) 00:36:47
おまえ55,59だろ
もういいから来るな。調べろ
71デフォルトの名無しさん:2009/10/07(水) 04:00:35
だって56じゃできねーもんよ
id毎に挙動変えますってだけじゃん
無限の可能性記述しろってこと?

説明し直せって言われて説明し直しても煽りあいばっかでロクな答え返ってこんかったじゃん

俺は単純にバインドした関数に1とか2とかhogeみたいな引数を渡したいんだよ
調べた感じでは出来ないっぽいけど絶対にいい感じな代替の方法があるだろと思って気軽に書いた

ばーかもうこねぇよ
72デフォルトの名無しさん:2009/10/07(水) 09:34:32
何言ってんの?自分の説明力とjqueryの知識が足らなすぎって気付きなよ

>俺は単純にバインドした関数に1とか2とかhogeみたいな引数を渡したいんだよ
渡す値はボタンのHTML(付近)に書くのか?
だったら>>64の書き方でいいだろ
それで無理なんだったら、無理な理由をかけ。
情報小出しうぜーけど、情報出さずにごちゃごちゃいうよりはましだ
73デフォルトの名無しさん:2009/10/07(水) 09:36:59
>調べた感じでは出来ないっぽい
とか言ってる時点で頭おかしい
74デフォルトの名無しさん:2009/10/07(水) 10:28:59
>>72
いや、お前も十分知識足りないんじゃないか?
どっちもどっちだと思うぞ。
75デフォルトの名無しさん:2009/10/07(水) 10:40:40
>>74
具体的に言わないなら黙ってろ屑が
76デフォルトの名無しさん:2009/10/07(水) 11:29:02
>>74
だったらあんたが答えてあげればいい話じゃん
77デフォルトの名無しさん:2009/10/07(水) 13:49:51
説明力が足らないから
今のソースがどうなってるのか晒せ
78デフォルトの名無しさん:2009/10/07(水) 14:39:01
サーバ側で<a onclick="foo(*)">ってHTMLを出力する。
ただし*はその時によって違う値でサーバ側で生成する。
onclickをjQueryを使ってstaticなjsファイルに追い出したい。
ってことかね?
Ajaxで取ってこない限り、HTML中の<script>で
適当な変数に代入するしかないと思うけど。つかjQuery関係ないな。
79デフォルトの名無しさん:2009/10/07(水) 14:43:15
>>71

>気軽に書いた
あんんたの気軽さのせいで回答者がいろんなパターンで補わなきゃいけないんだけど?
できる限り具体的に明確に示そうよ質問者さん。
80デフォルトの名無しさん:2009/10/07(水) 14:56:41
>>78
だからこれでいいんじゃないの?
プログラム(が吐き出すHTML)でvalueとかtitleとかに値入れてやる
>>64をbuttonに書き換えただけだけど

[jsファイル]
$(function(){
 $('button').click(function(){
  // value値が取得できるからそれつかって処理すればいい
  alert($('this').attr('value'));
 }
});

[html]
<button value="hoge">hogeのボタンだよ</button>
<button value="foo">fooのボタンだよ</button>




[php(おまけ)]
<?php
$vars = array('hoge', 'foo', 1, 2);
foreach ($vars as $var) {
 echo "<button value=\"{$var}\">{$var}のボタンだよ</button>";
}
?>

ためしてないからミスってるかも知らんが。。
81デフォルトの名無しさん:2009/10/07(水) 17:18:37
>>80
すまん既出だったね。
アンカーはtitleに入れたのがツールチップで表示されたりするじゃん。
他にはclassやrelに適当なプリフィクス付けて入れるとか面倒な方法しか
俺には浮かばない。
82デフォルトの名無しさん:2009/10/07(水) 17:29:18
tooltipが嫌なら↓こういうの走らせればいいのでは?
(試してない)

$('a{特定する必要があればclass名など}').each(function(){
 var _this = $(this);
 _this.data('{何かキー名を}', _this.attr('title'));
 _this.attr('title', '');
});

当然これを走らせるとtitleではもう取得できないから
data('{何かキー名を}')で取得する。
83デフォルトの名無しさん:2009/10/07(水) 17:32:27
あーチェーンするの忘れてた
まぁいいや
84デフォルトの名無しさん:2009/10/07(水) 17:35:47
>onclickの変わりにどのような動作をさせるのが普通なのか
って>>69にあるのな。
普通かどうかはわからないけど、俺はいつも80みたいな方法でやってる。
ほかに方法があるなら俺も聞きたいな。
85デフォルトの名無しさん:2009/10/15(木) 02:25:27
jqueryの参考本でオススメてありますか?
近所に本屋がないど田舎なんで感想とか聞けるとありがたいです
アマゾンもレヴューはまだあんまりありませんでした。
86デフォルトの名無しさん:2009/10/15(木) 02:30:42
田舎もんはウェブなんてやらず畑耕してればいい。
87デフォルトの名無しさん:2009/10/15(木) 15:20:29
本などなくてもウェブで十分だろ
88デフォルトの名無しさん:2009/10/15(木) 18:33:26
>>86
んじゃ、あんたが俺の代わりにサイト作ってくれやw
俺はweb屋じゃないんだ。上司がどこで知ったか知らんがjqueryとかajaxを使って
突然会社のサイト作れとか言ってきたんだよホームページビルダー買って
やるからとか言ってな。

おまえ新しく知った単語使いたいだけちゃうんか?
jqueryとかajaxとか言いたいだけちゃうんか?と
もうねアホかと馬鹿かと・・・・何か言ってやってくれ
89デフォルトの名無しさん:2009/10/15(木) 18:53:17
>>88
だからその上司にこう言ってやれアホ
「俺らjQueryとかじゃなくて畑耕しません?ジェイキュウリって名で売りましょうよ」
90デフォルトの名無しさん:2009/10/15(木) 20:18:17
web って net に対するアンチテーゼで出てきた用語なのか?
91デフォルトの名無しさん:2009/10/15(木) 21:12:36
実際 jQuery っていい本ないよね
特に日本語の本

92デフォルトの名無しさん:2009/10/16(金) 11:13:43
俺は「jQueryで作る Ajaxアプリケーション」って本を適当に買って読んでる
それなりに参考になってると思うけど他の本読んだことないしよくわからん

それはさておきjQuery日本語リファレンス(http://semooh.jp/jquery/)見てて思ったんだけど、
filter(expr)のページの「引数 index」って、これはもしや「filter(fn)」のページの方の、
fnの引数のことなのだろうか。
93デフォルトの名無しさん:2009/11/06(金) 12:37:37
プラグインのJQTouchでiPhoneサイト上でswipeさせるようにさせるにはどうしたら良いでしょうか??
因にswipeはボタン経由ではなくて
直に指をスライドさせてswipeして画面遷移をさせたいです。

様々なサイトを見たのですが解決できませんでした。
不可能な気がするのですが誰か宜しくお願いします。
94デフォルトの名無しさん:2009/11/06(金) 12:39:30
>>91
jQuery in Action にどんな不満が?
95デフォルトの名無しさん:2009/11/10(火) 10:59:50
sortable で、自分の指定した順番で並び替える方法ってありますか?

並べ替えは動作するんですが、その順番をcookieに保存しておいて、
次に表示した時に、cookie を読み込んで、最初からその順番で表示したいんですが…
96デフォルトの名無しさん:2009/11/14(土) 23:19:51
tooltipのプラグインなんだが
ttp://craigsworks.com/projects/simpletip/
Firebugで見てみたら<a>タグの間に<div>タグとか入れてるみたいなんだが
そういうのっていいの?aのなかにdivとかspanの中にdivとか
97デフォルトの名無しさん:2009/11/21(土) 18:17:28
>>95
モレも知りたい。
jQueryを使用したCookie開閉保持メニューをよりjQueryっぽく書き直す|caraldo.net | MT Blog
http://blog.caraldo.net/2009/03/newjqqookiemenu.php
こんな感じでjquery.cookie.jsでも使えばいける。

でも、単に遷移したページから戻ったときに前の状態を保存するだけにしたい場合、
swfobjectを使ってるようにURLにアンカーリンクを追加して
「hoge.html#SORT1」みたいなかんじで状態を維持するにはどうすればいいでしょうか?
98デフォルトの名無しさん:2009/11/21(土) 18:54:05
>>97
ttp://blog.mikage.to/mika/2007/04/jquery_history_b2f1.html
こんなんもあったけど、Mac Safariがだめで、
IE6でクリック音が2回鳴るのが難点?
99デフォルトの名無しさん:2009/11/22(日) 11:47:11
animate で、任意の変数(css)でない値を変化させるのってどうするんだろ?そもそもそんな利用法はサポートされていない?
今のところ見えないダミーのdivを作って、そいつのwidthとかを値の入れ物にしてるんだけど。
100デフォルトの名無しさん:2010/01/18(月) 18:30:29
$(this).next()
だと$(this)の次の要素となりますが、
次の要素だけでなくセレクターで指定したい場合、どのように書けばよいのでしょうか?
$(this + ' > div')とか$(this[attribute])みたいに書きたいんですけど…。

よろしくお願いいたします。
101デフォルトの名無しさん:2010/01/19(火) 11:35:52
1.4にしたら、$.ajax(dataType: "json")がparsererrorを戻すようになった。
戻ってきてるのは{"abc": "def"}で、headerがapplication/jsonでも駄目。
102デフォルトの名無しさん:2010/01/21(木) 14:36:09
1.4にしたら動かなくなったお
FFのエラーコンソールでは の部分で、未定義の実体が云々言われるんだが、どういうことなんだ
103デフォルトの名無しさん:2010/01/25(月) 18:08:21
$.fn.newfunction = function() {
 ...
}
と書くのと、
$.fn.extend({
 newfunction : function() {
 ...
 }
});
と書くのとでは、どのような違いがあるのでしょうか?
104デフォルトの名無しさん:2010/01/27(水) 13:37:06
jQueryでアコーディオン的なインタフェースを書こうと考えています。

以下のように複数のアコーディオンで連動するようなものを考えています。

例えば1つのアコーディオンに4つのページ(以下1ページ〜4ページ)が含まれていて、
それが3つ(以下アコーディオンA〜アコーディオンC)あるとします。

今アコーディオンAの2ページ目を開けるようにクリックしたら、
他のアコーディオンBCも同じ2ページ目をシンクロして開けたいと
いうものです。

このことについて何か有益な情報はないでしょうか?

よろしくお願いします。
105デフォルトの名無しさん:2010/01/31(日) 17:35:17
http://bost.bostudio.co.jp/?p=1331#respond
にあるjQuery+draggable+cookieを試そうと思っています。
対象物をドラッグして、リロードしても位置を記憶するというものです。

<script type="text/javascript">
$(function() {

$('#myDrag').draggable({
opacity : 0.5, //ドラッグ時の不透明度
cursor : 'move', //カーソル形状
containment: '#maincol',//移動範囲制限
stop: function(e, ui) {
$.cookie("tname",ui.position.top,{expires:30});//topの数値をクッキーに保存
$.cookie("lname",ui.position.left,{expires:30});//leftの数値をクッキーに保存
}
})
});
if($.cookie("tname")) {
$(function(){
$("#myDrag").css("top",$.cookie("tname") + "px");//保存したクッキーの値を挿入
$("#myDrag").css("left",$.cookie("lname") + "px");//保存したクッキーの値を挿入
});
}
</script>


以上のスクリプトで対象物の移動はできるんですが、リロードしたときその位置は保存されていません。
どなたか解消方法を教えていただけないでしょうか。

106デフォルトの名無しさん:2010/02/18(木) 15:46:13
ページにボタンがあり、ボタンが押されるとそのページを見ている全員にボタンが押された旨を通知する
ものを作りたいのですが、どのような仕組みになるのでしょうか?
107デフォルトの名無しさん:2010/02/18(木) 18:19:14
>>106
それを実現しているサイトの例がある?
サーバ側の協力とブラウズしている側でのポーリング(またはそれに代わる仕組み)が必要だと思うけど。
Cf. Comet
108デフォルトの名無しさん:2010/02/18(木) 21:02:37
<a id="test" href="#" onclick="return confirm('移動しますか?')">リンク</a>

これをJQueryに移植しようとしたんですけど、できませんでした。
どうreturnさせればいいのかわかりません。
教えてください。二百円あげます。
109デフォルトの名無しさん:2010/02/18(木) 23:06:56
あ、できた
110デフォルトの名無しさん:2010/02/18(木) 23:07:44

  で き ま し た !
    /\___/ヽ
   /''''''   '''''':::::::\
  . |(●),   、(●)、.:| +
  |   ,,ノ(、_, )ヽ、,, .::::|    
.   |   `ヒ---イ ' .:::::::| +
   \  `ニニ´  .:::::/     +
,,.....イ.ヽヽ、ニ__ ーーノ゙-、.
:   |  '; \_____ ノ.| ヽ i
    |  \/゙(__)\,|  i |
    >   ヽ. ハ  |   ||
111デフォルトの名無しさん:2010/02/24(水) 13:40:51
おれもできた
112デフォルトの名無しさん:2010/02/27(土) 18:34:35
ドラッグの処理に必要なui.draggable.ext.jsはどこで入手するんでしょうか?
http://jqueryui.com/download にはextの方はないみたいなんですが。
113デフォルトの名無しさん:2010/02/27(土) 23:14:17
>>112
何を参考にしてるのか知らないが、そのページでDraggableをチェックしてダウンロードできるファイルで
すべて事足りる。
114デフォルトの名無しさん:2010/02/28(日) 18:03:57
アコーディオンメニューで困ってます(´;ω;`)

http://sawa-s.com/sample_js/scroll_accordion_menu/index.html#
とりあえずここのを参考にして作ってます。

上のサイトは
親>子(該当ページへジャンプ)
になってますが、作りたいものは、

親>子>孫(該当ページへジャンプ)
・・のような物を作りたいと考えてます。

ソースは下記
<div id="accordionmenu">
<div class="menuheader expandable" id="test">テキスト</div>
<ul class="categoryitems">
<li class="expandable">テキスト
<ul class="categoryitems">
<li><a href="#">テキスト</a></li><!--
--><li><a href="#">テキスト</a></li><!--
--><li><a href="#">テキスト</a></li><!--
--><li><a href="#">テキスト</a></li>
</ul>
</li>
</ul>
</div>

デザインとして親、子をクリックしたら開閉がわかるプラスとマイナスのボタンをつけたいので上記サイトを選んだのですが・・・。
アドバイス頂ければ幸いです・・・!
115デフォルトの名無しさん:2010/03/12(金) 21:00:32
$("#a").click(function(){});なんかのイベント時の処理を
$(function(){});の外に書いた場合に動かないのはなんでですか?

関数と一緒で動きそうな気がするんですが
116デフォルトの名無しさん:2010/03/16(火) 14:41:27
id=aの要素の前に書いてんじゃないの? $("#a")の評価時点で存在しない要素は処理できません。
117デフォルトの名無しさん:2010/03/23(火) 01:39:37
jQuery.ui.tabsの、ヘッダ部分の高さを取得する方法はあるでしょうか?
118デフォルトの名無しさん:2010/03/23(火) 03:36:08
>>117
どうせHTML要素になるんだから

var height = $(selector).tabs().css('height');

とか

var height = $('ui-tabs-nav').css('height');

でいけるんじゃないか

119117:2010/03/23(火) 23:20:41
>>118
ご助言、ありがとうございました。
後者ではうまく取得できませんでしたが、前者で<ul>にIDをつけてソレの高さを取得したところ、大体の大きさは取得できたようです。
ぴったりとはいきませんが、やはりマージンなどの関係でどうしても誤差が出てしまうのは避けられないのでしょうね。
120デフォルトの名無しさん:2010/03/24(水) 21:33:35
ver1.3.2

$("#form1").serialize()が、あるウィンドウ1(showModalDialog)では成功するけど、
別のウィンドウ2(showModalDialog)では空文字を返します。
もちろん、serialize()を行っているJavascriptファイルは同一ファイルです。
このような現象見たことある人いますか?
121デフォルトの名無しさん:2010/03/25(木) 01:44:50
>>120
jQueryオブジェクトをマージすることはできますか?

$([$('div#test1'), $('div#test2'), $('div#test3')]).click(function(){});

のようなことがしたいです。
個別にイベント設定すればいいじゃんってのは無しの方向でw
122デフォルトの名無しさん:2010/03/25(木) 09:36:01
セレクタで書けないなら、.add() で追加するとか
123120:2010/03/25(木) 10:39:45
>>121

個別のform部品の値は取得できるので、
その方法しかないのでしょうか?


FirefoxやChromeでは成功するんですけど、
IEだけ空文字が返るんです。
124120:2010/03/25(木) 11:14:14
>>121

$("ID :input").serialize()ってしたら取れたw

つきあってくれて、ありがと
125デフォルトの名無しさん:2010/03/26(金) 10:35:16
Google AJAX APIからjQuery本体とJquery UIを取ってきて、プラグインはローカルから読み込ませる、ということは可能でしょうか?
どうも、単純に「<script src="http://www.google.com/jsapi"></script>」の下にローカルからの読み込みを記述してもダメなようです。
126デフォルトの名無しさん:2010/03/26(金) 11:53:46
>>122
サンクス
それでいけた

>>123
スマス、安価はミスです
127デフォルトの名無しさん:2010/03/27(土) 00:27:19
jqueryとui.tabs.jsを使って
$(function(){
$('#info-tab>ul').tabs();
});
//--></script>

タブを動かしたいのですが、firebugによると

$.widget is not a function
[Break on this error] destroy: function() {
ui.tabs.js (457 行目)
$("#info-tab>ul").tabs is not a function
[Break on this error] $('#info-tab>ul').tabs();

のようなエラーが出てしまいます。数時間やってみましたが原因がわかりません。
どうしたらよいでしょうか?
128デフォルトの名無しさん:2010/04/04(日) 21:40:16
jQuery.ui の draggable & droppable で開発しています

$('#hoge').draggable({ revert: 'invalid' });

$('#fuga').droppable({
accept: '#hoge',
drop: foo
});

として、ドロップに成功した場合にも、
関数 foo 内で指定した条件だった場合にドロパブル要素をリバートさせたいんですが、
可能でしょうか

return false;
なんかで可能なのかとおもい、試して見ましたがうまく動きません
129128:2010/04/04(日) 22:32:42
自己解決しました

function foo(e, ui){

ui.helper.draggable('option', 'revert', false);
if(....){
ui.helper.draggable('option', 'revert', true);
return;
}
...
}

という感じで無事に、
ドロパブル要素にはしたけどある条件下に置かれた場合にはやっぱりドロップしたくない場合も、
リバートできることが判明しました
130デフォルトの名無しさん:2010/04/05(月) 23:52:36
リンクをクリック→jQueryに引数を渡す→Loading表示→jQueryが該当するrssを取得してきて表示
ってのをやりたいのですが、「jQueryが該当するrssを取得してきて表示」はできてるのですが、
「リンクをクリック→jQueryに引数を渡す→Loading表示」がわかりません。
参考になるコードはありますか?
また、リンクをクリックして更新するのはページ全体ではなく、jQueryの読み込みだけです。
131デフォルトの名無しさん:2010/04/06(火) 00:33:36
>>130
上のほうで同じような質問をしてボロクソに叩かれた者だけど、
結論としては引数を指定してやることはできないっぽい
ただ代わりにinput要素やらなんやらを隠し持ってていたりすればいけるっぽい

例えば
$('#hoge').click(function(){
var url = $(this).next().val();
....
}

<input type="button" id="#hoge" />
<input type="hidden" value="http://example.com/" />

また、引数として渡ってくる値が有限ならこんなふうにクラスを指定して分岐させてやる手もある

function getRss(url){...}
$('input.hoge').click(function(){
getRss('http://example.com/hoge');
});
$('input.fuga').click(function(){
getRss('http://example.com/fuga');
});
...
132デフォルトの名無しさん:2010/04/06(火) 02:25:53
>>130
引数を渡すってどういうこと?aタグのhrefを取得してAjaxでデータを取ってきたいとかなら
clickのコールバック関数でthisを呼べばいい
loading表示はajaxSend呼び出して、ajaxCompleteで消すとかすればいいよ
133デフォルトの名無しさん:2010/04/06(火) 03:38:09
>>131
さんくです。参考にします。

>>132
ボタンでもaタグのリンクでもいいんですが、クリックするとボタンかaタグのvalueを関数に送ってそれを処理って感じです。
134125:2010/04/09(金) 11:38:22
>>125
失礼、自己解決しました。
<script src="http://www.google.com/jsapi"></script>
<script type="text/javascript">google.load("jquery", "1");</script>
<script type="text/javascript" src="プラグイン"></script>
<script type="text/javascript">
 ※jQueryのコード
</script>
・・・でよかったんですね。
135デフォルトの名無しさん:2010/04/09(金) 20:29:43
>>134
$.getScript('hoge.js'); 便利
136デフォルトの名無しさん:2010/04/11(日) 14:27:21
$('#aaa').append("hoge");
これ($('#aaa'))を初期化したいのですが、どうすればよいですか?
137デフォルトの名無しさん:2010/04/11(日) 14:38:36

あ、自己解決しました
empty()
138デフォルトの名無しさん:2010/04/11(日) 15:09:10
最近はjQueryの入門書みたいなのが何冊か出てるから、それ読んでからプログラミング
したほうが効率がいいんじゃないかな。
139デフォルトの名無しさん:2010/04/11(日) 15:16:36
― ソ Ы 噂 浬 欺 圭 構 蚕 十 申 曾 箪 貼 能 表 暴 予 禄
兔 喀 媾 彌 拿 杤 歃 濬 畚 秉 綵 臀 藹 觸 軆 鐔 饅 鷭
140デフォルトの名無しさん:2010/04/11(日) 16:43:43
>>95 でも書いたんですが、sortable で最初から並び替えておく良い方法は無いでしょうか?
141デフォルトの名無しさん:2010/04/11(日) 19:50:21
>>140
キーを順番に
5,2,3,1,4
とかしてcookieに保存すればいいじゃない
142デフォルトの名無しさん:2010/04/11(日) 20:15:15
jQueryで表示した<div>要素をクリックして、clickイベントで拾う事はできないのでしょうか?
HTMLに直接書いたものだと機能したのですが・・・
143デフォルトの名無しさん:2010/04/12(月) 13:11:54
遅レスだけど、1人くらい、誰かの役に立つかもしれんので貼っとくね。
ttp://koexuka.blogspot.com/2009/07/jquery.html
カレンダーの日付をクリック
 →dialogでスケジュール確認・変更
キーワードをクリック
 →wikipediaの結果表示
とか
jqueryのおかげで、かなりの部分をAS3コンパイル(書き出し)をしなくて済むようになった。
144デフォルトの名無しさん:2010/04/12(月) 21:50:54
>>142
.live("イベント",こーるばっく)
145デフォルトの名無しさん:2010/04/12(月) 23:17:30
>>144
jQueryすげーな
146デフォルトの名無しさん:2010/04/19(月) 10:51:19
「もっとみる」とか「元に戻す」リンクで
テキストを表示させたり隠したりを楽にできるプラグインってないですかねぇ?
http://plugins.learningjquery.com/expander/
ここの使ってみたんですけど、どうにも使いにくくて。
なんか他にオススメあったら教えて欲しいです。
147デフォルトの名無しさん:2010/04/19(月) 20:17:15
http://wata04.blog21.fc2.com/
このサイト結構面白いこと書いてくれる

こういうメニューバーいいなぁ
148デフォルトの名無しさん:2010/04/20(火) 20:31:45
ほかのサイトRSSとかXML取得していろいろやりたいんやけど
クロスドメインはダメってことで何もできん…
JSONに変換するのも面倒やし。
みんなどうやってXMLゲットしてますか?
149デフォルトの名無しさん:2010/04/21(水) 21:15:35
Perlをつかってる
150デフォルトの名無しさん:2010/04/22(木) 01:58:16
>>147
宣伝すぎるだろw
前にJavaScriptスレにあった「Web3.0がくるんでしょうか」で締めた宣伝レス思い出したわw
もっとがんばってから宣伝しろよ
151デフォルトの名無しさん:2010/05/02(日) 14:54:48
ttp://hisasann.com/housetect/2008/06/javascript_4.html

$(function () {
$("#data").load("data.html");
}
);
でローカルファイルdata.htmlにアクセスできる、とありました。
確かにFirefoxでは動作したのですがGoogle ChromeではNGでした。
Google Chromeで同様に動作させるためにはどのようにすればよいでしょうか。

また、本来このようにローカルファイルへアクセス出来るのは問題がある動作なのでしょうか。
152デフォルトの名無しさん:2010/05/02(日) 19:54:03
>>151
これ、書いている人が勘違いしてるんだろうけど、
サーバからクライアントのローカルファイルにアクセスできるわけじゃないからあんま意味ないよ

ローカルのhtmlをブラウザで見たらローカルのファイルを見れてるだけ。
153151:2010/05/02(日) 22:02:45
>>152
あ、私がやりたかったことに沿っていたのであまり気にしてませんでしたが、
確かに引用文元からの文脈でみると勘違いしているようですね。

ただ、今回試したのは
ローカルのhtmlからjQueryを用いてローカルファイルをloadする、
ということなのですが、これがGoogleChromeでは出来ませんでした。
154デフォルトの名無しさん:2010/05/03(月) 02:55:37
>>153
そういうのをやるとTiddlyWikiのソースを見ると参考になるよ。
結局ブラウザごとに違う処理を使ってるわけだが。
155デフォルトの名無しさん:2010/05/03(月) 03:02:12
>>153
chromeはセキュリティポリシーでローカルファイルへのアクセスを禁止してるからね
検索すると結構出てくると思う
156151:2010/05/03(月) 14:13:50
>>154-155

http://journal.mycom.co.jp/news/2008/12/08/031/
http://blog.chromium.org/2008/12/security-in-depth-local-web-pages.html
> ローカルファイルに対しては「Same origin policy」は必ずしも
> 有効になっておらず、ブラウザごとに対応はまちまちだ。

まさにsame-origin policyってローカルファイルに対してはどうなんだろう、
と思っていたので、上記記事が参考になりました。

ただ、ここで記載されている方針からすると、
ローカルjsからローカルファイルはアクセス出来て良いように思えますが…
(記事が古く現在の方針とは異なる?あるいはjQueryのChromeへの考慮の問題でしょうか?)


…と思ってTiddlyWikiのサイト
http://tiddlywiki.org/wiki/Google_Chrome
を見たところ、--allow-file-access-from-files というオプションがあるのに気づき、
これを付与して起動したところ、所望の動作が得られました。
5.0.335.1以降仕様が変わったそうです。
http://www.google.com/support/forum/p/chrome/thread?tid=540aeb74f2d434cd&hl=ja
157デフォルトの名無しさん:2010/05/22(土) 12:15:00
テーブルのヘッダを固定してスクロールできるjavascript(jquery)
のプラグインを探してるんだけど、オススメありますか?
検索とかソートの機能は不要です。以下の2つを試したけど少々不満。

http://www.otchy.net/20100308/jquery-tablefix-js-had-released/
右端までスクロールするとヘッダがずれる

Super Tables
http://c-brains.jp/blog/wsg/09/06/16-151445.php
機能は申し分ないけど、少々重い
158デフォルトの名無しさん:2010/05/30(日) 04:04:47
これってそこかしこにサンプル転がってるけど
競合ってするの?めぼしい物を入れていこうと思ってるんだけどさ
159デフォルトの名無しさん:2010/05/31(月) 14:07:01
$が重複しそうなときには回避できる
詳しくはぐぐれ
160デフォルトの名無しさん:2010/06/02(水) 17:09:54
>>159
$の衝突は回避できても>>158が想像してるのはプラグインのnamespaceだから衝突しそうじゃね?
161a:2010/06/03(木) 01:46:20
a
162デフォルトの名無しさん:2010/06/03(木) 01:58:52
163デフォルトの名無しさん:2010/06/06(日) 04:07:03
クロスブラウザで統一されたデザインを成り立たせようと思ったらとたんに難しくなる
どう回避してる?
164デフォルトの名無しさん:2010/06/06(日) 04:12:29
>>163
そもそもIEユーザーが見るようなサイトではなかったから、IEは無視することにした
165デフォルトの名無しさん:2010/06/07(月) 13:31:00
すいません
jquery 1.4.2 を使って、

$.getJSON(
  '/api',
null,
function(data, status) {
alert(data);
alert("abc");
}
);
のような感じのコードを書きました。

firebugで確認すると、Ajaxでのgetメソッド通信は200 ok で成功していて、
欲しいデータも取ってこれてるのですが、なぜかコールバック関数が呼ばれず、悩んでいます。
Ajax通信が成功したあとの
alert(data)もalert("abc")も実行されないんです。(ダイアログが何もでない)

何か思い当たる節がある方教えていただけると幸いです。
166デフォルトの名無しさん:2010/06/07(月) 14:07:45
nullって何だよ?
167デフォルトの名無しさん:2010/06/07(月) 14:12:59
レスありがとうごじます。
第2引数がなんなのかよく分からなかったのですが、nullにしてる
サンプルを発見したのでそのまま使いました。
第2引数を省略して、コールバック関数を第2引数にしてる例もあったので
そちらも試してみたのですがうまくいきません。。
168デフォルトの名無しさん:2010/06/07(月) 14:17:26
Forefox+Firebugのコンソールで、Javascriptのどこかでエラーが発生してないかどうか確認。
なければ、packされてないjqueryを使ってステップ実行で、どこでどうなるのか把握。
invalidなJSONデータを戻してるとか、そんなんじゃねーの?
169デフォルトの名無しさん:2010/06/07(月) 14:29:13
>>invalidなJSONデータを戻してるとか
うわーおっしゃる通りでした。
smarty使わなくてはいけなくて、勝手にhtmlエスケープされていたからでした。
ありがとうござまいした。助かりました。
170デフォルトの名無しさん:2010/06/07(月) 15:44:52
domにdomをappendすることってできないのでしょうか??

d = $(".hoge_class");
dd = $("#fuga_id");

dd.append(d);

とやってみたのですが、どうも要素が追加されません。
appendの引数は文字列限定しょうか。
domにdomを追加したい場合のやり方あったら教えて頂きたく><
171デフォルトの名無しさん:2010/06/18(金) 20:47:03
このサイトの動きをjQueryで実現したいんだけど
どこかにライブラリないですか?
ttp://ito-naika.net/
172デフォルトの名無しさん:2010/06/18(金) 21:09:13
>>171
マルチ乙
173デフォルトの名無しさん:2010/06/19(土) 18:05:53
>>170
DOMを文字列に変換して追加すればいいんじゃない?
174デフォルトの名無しさん:2010/06/19(土) 18:54:50
>>170

hoge_classのノード(複数の可能性あり)を移動したいって事だよね?

普通に可能だ

<script src="http://www.google.com/jsapi"></script>
<script>google.load("jquery", "1");</script>
<script>
function move() {
d = $(".hoge_class");
dd = $("#fuga_id");
dd.append(d);
}
</script>
<div id="fuga_id" style="background-color:aqua;"></div>
<input type="button" class="hoge_class" onclick="move()"><br/>
<input type="radio" class="hoge_class"><br/>
<textarea class="hoge_class"></textarea>
175デフォルトの名無しさん:2010/06/20(日) 12:56:15
raphaelってどうですかね?
176デフォルトの名無しさん:2010/06/21(月) 16:51:00
>>174
それ、何かの回答のつもりなのかにゃ?
177デフォルトの名無しさん:2010/06/23(水) 20:31:37
詳しく調べたわけじゃないけど、
jquery内で使う変数が、BODY内で使われてるidと同じ場合、
IE6、7、8で100%エラーでるんだけど、これはバグと認識していいのかな?
それとも仕様?

JQueryの1.3、1.3.2、1.4.2で確認した。
178デフォルトの名無しさん:2010/06/23(水) 20:54:05
<html><body>
<div class="test" style="width:100;height:100;background:#eee;">ああ</div>
<div id="hoge"></div>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js" type="text/javascript"></script>
<script type="text/javascript">
$(document).ready(function() {
hoge = "dummy";
$('div.test').hover(
function() { $(this).css('background-color', '#ccc') },
function() { $(this).css('background-color', '#eee') }
)
});
</script>
</body></html>

適当だけど、こんなやつ。
どちらかのhogeを変えたら動く。
179デフォルトの名無しさん:2010/06/23(水) 21:28:12
>>178
alert(hoge.nodeName); // DIV
と出るのでDOMアクセスやスコープチェーンの違いかねぇ・・・

var hoge = "dummy"; ならエラー出ないよ。
180デフォルトの名無しさん:2010/06/24(木) 00:11:16
>>179
本当だ。宣言されてればいいのか。
プラグインで数時間くらいハマって、泣きそうだった。

まさか全然無関係と思われる<div id="result">が原因とは思えないじゃんw
181デフォルトの名無しさん:2010/06/24(木) 00:38:48
自作プラグインかそうで無いのかは知らないが、
varの書かれていないコードに疑問を持たない時点で・・・
182デフォルトの名無しさん:2010/06/25(金) 16:47:33
テンプレートなしでHTML作ろうとしたら頭が死にかけた・・・
183デフォルトの名無しさん:2010/06/25(金) 17:32:33
意味が分からない
184デフォルトの名無しさん:2010/06/26(土) 07:21:35
jquery.tmpl.js
の最新にrenderが存在しないのは何故ですか?
これで1日潰れました
185デフォルトの名無しさん:2010/06/26(土) 21:59:36
すみません
SmartClient のスレはどこですか?
186デフォルトの名無しさん:2010/06/29(火) 18:37:02
$(".op").live("click", function(){
event.stopPropagation();
});
liveだとeventが取得できないんですが、どうすれば良いですか?
187デフォルトの名無しさん:2010/06/29(火) 23:46:37
テーブルのセルを得る方法がわからないです。

$(上から何段目、左から何個目のセル).html('hoge');
みたいなことをやりたいんですけど
188デフォルトの名無しさん:2010/06/30(水) 01:12:01
>>187
$("table tr:eq(0) td:eq(1)").html("hoge");
189デフォルトの名無しさん:2010/06/30(水) 08:42:05
>>186
$(".op").live("click", function(event){
event.stopPropagation();
});
190187:2010/06/30(水) 09:41:15
>>188
おおお・・・ありがとう
うちに来て妹とファックしてください
191デフォルトの名無しさん:2010/06/30(水) 14:34:12
>>189
動きました。ありがとう。
htmlのタグの構成が間違ってました。
192デフォルトの名無しさん:2010/06/30(水) 16:02:17
>>190
数回くらいの実行なら、>>188でいいけど、結構な数のアクセスが必要な場合は、
毎回セレクタ使ってるととんでもなく遅くなるよ(100回で秒のオーダーになったりする)。

そういう場合は、DOMで直接アクセス(なおかつ、ノードが下がるごとに変数にキャッシュ)が速い。
var rows = $('#my_table>tbody>tr');
var row = rows[0];
access row.cells[0], row.cells[1], ...
193デフォルトの名無しさん:2010/06/30(水) 17:32:41
レキシカル変数って言うんですかそれ?
覚えたてでよく分からないです
194デフォルトの名無しさん:2010/06/30(水) 17:39:15
単なるローカル変数
195デフォルトの名無しさん:2010/06/30(水) 21:12:55
そですか
196187:2010/07/01(木) 14:25:25
>>192
まさにそのくらいになってたからちょっと改良しなきゃなと
思ってたところだった。ありがとう。
197デフォルトの名無しさん:2010/07/01(木) 14:27:02
$(xml).find('hoge,piyo,fuga').each(function(){
というループを実行してるとき、hoge,piyo,fugaのどれに
引っかかったのかを$(this)から取得する手段ってある?
198デフォルトの名無しさん:2010/07/01(木) 14:36:37
>>197
$(this).get(0).nodeName とか?
199デフォルトの名無しさん:2010/07/01(木) 17:11:29
>>198
get(0)!そういうのもあるのか
200デフォルトの名無しさん:2010/07/01(木) 20:10:34
下のような2ペインになるようなhtmlを書いています。
<body>
<div class="ui-layout-west"></div>
<div class="ui-layout-center"></div>
</body>
ui-layout-westは左メニューでui-layout-centerがメイン画面です。メイン画面の方にGoogleのトップページなど任意の外部のWebページをロードしたいのですがどのようにすればよいでしょうか。
アドバイスお願いします。
201デフォルトの名無しさん:2010/07/01(木) 20:14:31
<iframe>
202デフォルトの名無しさん:2010/07/01(木) 20:27:33
>>201
アドバイスありがとうございます。できました。
<div id="main" class="ui-layout-center" src="http://www.google.co.jp">
とし、jQueryを
$("#main").attr("src", "http://www.yahoo.co.jp");
とかで変更できました。
203デフォルトの名無しさん:2010/07/01(木) 20:28:20
おっとっと
<iframe id="main" class="ui-layout-center" src="http://www.google.co.jp">
です。
204デフォルトの名無しさん:2010/07/02(金) 22:10:53
$.ajaxで
ノードが読み込まれてから処理したい場合は
どう書けば良いですか?
205デフォルトの名無しさん:2010/07/02(金) 22:52:46
ノードが読み込まれてからっていうか
DOMが構築されてから処理を進めたい場合です
206デフォルトの名無しさん:2010/07/03(土) 00:05:09
>>204
ごめん、意味がよくわからない。

$("#node").ready(function(){
 //こういうこと?
 $.ajax({
 complete: function(xhr) {
  //それとも、こういうこと?
  consolen.log(xhr.responseXML);
 });
});
207デフォルトの名無しさん:2010/07/03(土) 00:59:12
具体的にはhtmlを読み込み終わってから読み込んだ部分の高さを取得したいんだが
画像を読込前の高さが取得されてしまいます。
208デフォルトの名無しさん:2010/07/03(土) 01:02:03
async:false
にするとかなりマシにはなるのですが、まだ稀に構築されてません。
209デフォルトの名無しさん:2010/07/03(土) 01:03:26
>>207
あなたが求めている方法は、多分これだと思う。
ttp://dogmap.jp/2009/06/17/javascript-image-natural-size-2/
210デフォルトの名無しさん:2010/07/03(土) 01:22:39
とりあえず適当に頑張ってみます
211デフォルトの名無しさん:2010/07/03(土) 03:38:16
setTimeout(function(){
やりたい処理;
}, 500);
としたら出来た。
212デフォルトの名無しさん:2010/07/03(土) 03:42:38
300位が気持ち良いかも
213デフォルトの名無しさん:2010/07/03(土) 03:45:39
400だな、300だと読み込まれない時がある
214デフォルトの名無しさん:2010/07/03(土) 04:19:54
http://www.appelsiini.net/projects/lazyload
このプラグインの方が簡単だった
215デフォルトの名無しさん:2010/07/03(土) 04:39:15
両方使わないと重い
重いサーバーのデータを持ってくると画像表示が間に合わない
216デフォルトの名無しさん:2010/07/03(土) 11:18:21
プラグインの方は要らなかったみたい
サーバー別の待ち時間をデータベースに落いて
待ち時間を変化させないといけないかも。
217デフォルトの名無しさん:2010/07/03(土) 14:11:07
プリロードしといて、
そっちのload確認してから
仕事すればいいんじゃないの?
218デフォルトの名無しさん:2010/07/03(土) 18:19:46
フレームから他のフレーム内にある要素の値を書き換えるとき
parent.hoge.document.getElementById('piyo').value='うんこ';
みたいなことをしているんだけど
これをjQueryの流儀でかっこうよく書くにはどうしたらいいか
219デフォルトの名無しさん:2010/07/03(土) 19:06:57
>>217
やってみたけど、completeにならない画像もあるので永久に終わらなくなった
アクセス解析用の埋め込み画像とかだと思う
220218:2010/07/03(土) 19:19:22
$(parent.hoge).find('#piyo').val('うんこ');
とやってみたけど駄目だった。
うまく行きそうだと思ったんだけどなぁ
221デフォルトの名無しさん:2010/07/03(土) 21:38:02
やっぱり、500ミリ秒待たないと画像の高さが反映されない
222デフォルトの名無しさん:2010/07/05(月) 17:47:00
>>101

私も同じ問題ではまってる。
で、pasererrorになるならということで、以下のような関数を書いて処理をすると
正しく出力される。
1.4以降のバージョンでは正しくparseしてくれないようだ・・・。何が原因なんだろう・・・。

{"msg":"hogehoge"}

function getJSON(URL)
{
$.ajax({
url : URL,
dataType : "json",
error : function (XMLHttpRequest, status, errorThrown) {
switch(status)
{
case "parsererror":
var data = XMLHttpRequest.responseText; // 取得したテキスト
var json = eval( "(" + data + ")" );
alert(json.msg);
break;
}
},
});
}
223デフォルトの名無しさん:2010/07/05(月) 17:58:17
>>222
getJSONは?
224デフォルトの名無しさん:2010/07/05(月) 19:23:17
>>223

$.getJSON(URL,null,function(json){alert(json.msg)}));

#POSTするデータは無い(URLに含まれる)ので null としています。

で処理をすると全く応答がありません。
parsererrorが出ると後続の関数は実行されないようです。

$.getJSON(URL,null,alert("test")));

を実行すると普通に alert("test") も動きます。
225デフォルトの名無しさん:2010/07/06(火) 02:02:35
>>224
一番考えられるのはやっぱparseJSONだと思うけど。
一応dataに戻る文字入れてこの条件通るか確認してみてはどうだろう。
(jQuery内でjsonのチェックしてる正規表現)

if ( /^[\],:{}\s]*$/.test(data.replace(/\\(?:["\\\/bfnrt]|u[0-9a-fA-F]{4})/g, "@")
.replace(/"[^"\\\n\r]*"|true|false|null|-?\d+(?:\.\d*)?(?:[eE][+\-]?\d+)?/g, "]")
.replace(/(?:^|:|,)(?:\s*\[)+/g, "")) ) {
226デフォルトの名無しさん:2010/07/06(火) 08:43:02
>>225

この条件をテストしてみたらFALSEでした。
う〜ん。空白か改行が入っているのかな・・・。

エンコードはZend_Json::encode() でしているのですが・・・。
227デフォルトの名無しさん:2010/07/06(火) 22:49:03
jQueryの本、いっぱいでてるけどお勧めありますか?
228デフォルトの名無しさん:2010/07/07(水) 11:10:03
書籍でお勧めは無いと思います。
229デフォルトの名無しさん:2010/07/07(水) 11:15:20
ちょっと前なら jQuery in Action がおすすめでしたが、
もう2年も前の本なので今はおすすめできません。
230デフォルトの名無しさん:2010/07/07(水) 12:52:36
231デフォルトの名無しさん:2010/07/08(木) 00:11:22
>>230
なげーよ
ttp://amazon.jp/dp/4774143049
こう書けよ
232デフォルトの名無しさん:2010/07/16(金) 13:57:15
始めまして。すこしききたいことがあります。

jquery.alerts.jsを使用してIE8でjAlertを使ってメッセージダイアログを
表示させたいのですが、画面下方に新しいdivが作成されて表示されてしまい、
上手くダイアログとして機能しません。

どうすればいいのでしょうか?
ちなみにfirefoxではきちんとダイアログとして表示されました。
どなたか対策のわかる方はいませんでしょうか?

よろしくお願いいたします。
233デフォルトの名無しさん:2010/07/16(金) 14:50:05
alart?
234デフォルトの名無しさん:2010/07/16(金) 14:50:33
235デフォルトの名無しさん:2010/07/16(金) 15:09:34
jdigiclockの天気予報を表示させるにはどうしたら良いのでしょうか?
236デフォルトの名無しさん:2010/08/16(月) 09:40:07
237デフォルトの名無しさん:2010/08/16(月) 16:11:58
はじめまして
jQueryの『plupload』にて質問があります

ファイルのアップロードはサンプルで無事行えたのですが
ファイル名が、日本語の場合文字化けしたファイル名になってしまうのですが
サンプルデータを書き換える場所がわかりません。

どなたか対策のわかる方はいませんでしょうか? よろしくお願いします

例)「20100816_テスト.zip」→「20100816_繝・せ繝・zip」
238デフォルトの名無しさん:2010/08/16(月) 16:38:30
239デフォルトの名無しさん:2010/08/16(月) 16:39:31
>>237
「ちゃんと」utf-8で保存されてる
表示するプログラムの方でutf-8として正しく出力汁
240デフォルトの名無しさん:2010/08/17(火) 05:29:06
241デフォルトの名無しさん:2010/08/17(火) 05:34:54
242デフォルトの名無しさん:2010/08/19(木) 18:19:14
tabsを使って

1.タイマーなどでイベント待ち
2.発生したら特定のクリックさせたいタブを点滅させる
3.クリックされたら点滅をやめる

という処理をしたいんだけど、どうやればいいかな?
everyTimeとeffect("highlight")を組み合わせてみたんだけど、どうもうまく動かない・・・。
仕掛ければいいのはli? それとも別にdivやspan入れて、それにeffect仕掛ければいいのかな?
243242:2010/08/20(金) 12:11:46
>>242
ボケて申し訳ない、自己解決。
liに個別のID振ってeffect指定すれば点滅してくれた>タブ
244デフォルトの名無しさん:2010/08/29(日) 20:43:57
(1)datepickerで、「この日とこの日だけ選択可能にする」って制限をつけることは可能?
(2)月の移動をイベント検知してコードを動かすことは出来る?

何がしたいかというと、「blogのカレンダー」が一番近いですね。書き込みのあった日だけクリック可能にしたいのです。
「ピックアップした後にajaxで投げて日付をチェック、書き込みがなかったらエラーのダイアログ出して処理中止」で
逃げられないコトはないと思うけど、出来ればクリックそのものが出来ないようにしたいんです。

リファレンスを見ると、最小・最大の範囲でのみ指定可能って感じだけど、見落としているコトがあればご指摘くだされ。
245デフォルトの名無しさん:2010/08/29(日) 22:02:33
「ピックアップした後にajaxで投げて日付をチェック、書き込みがなかったら無視」で
246244:2010/09/02(木) 11:00:06
>>245
失礼、見逃してました。
が・・・やはりそっち(ピックアップ後の処理)になりますか・・・。
無視するにしても、出来ればdatepickerを閉じさせたくないんですよね。
onSelectイベントの中でdatepickerを閉じるのをキャンセルさせるのか可能でしょうか?
247デフォルトの名無しさん:2010/09/02(木) 18:34:52
slideupして要素が画面から消えたら文章を書き換えてそれをslidedownして表示、といったことを行いたいのですが、うまくいきません。
どのように記述したらいいのでしょうか?
タブを用いた画面の切り替えに使いたいと考えています。
よろしくお願いします。
248244:2010/09/03(金) 23:19:29
>>246
なんとか自己解決しました。大まかには

(1)input要素に追加するのではなく、divなどに(そのままなら常にdatepickerが表示されるように)追加する
(2)ロード時にdatepickerをhide()する。
(3)input要素のclickでdatepickerをtoggle()する。
(4)datepickerのonSelectイベントで(ajax経由で)日付をチェック、OKならinput要素に選択された日付を代入し自分自身をhide。NGならそのまま。

・・・という手順で、概ね意図した動作になりました。
datePickerのonSelectでは$(this)が使えないので、inst.inputから引っ張ってこなければならなかったのがちょっと難しかったですね。
249すいません><:2010/09/06(月) 12:01:46
大変くだらない質問で恐縮ですが、どなたか教えていただけないでしょうか?
offset()を使用して要素の位置を取得したいのですが、select要素だけ取得できません。
どなたか対応策をお願いします。><
教えてくんです。すんまそん。
250デフォルトの名無しさん:2010/09/06(月) 12:06:18
selectedindex
251デフォルトの名無しさん:2010/09/09(木) 22:41:04
fadeInしながらslideDownって出来ないの?
252デフォルトの名無しさん:2010/09/10(金) 03:58:31
できる
253デフォルトの名無しさん:2010/09/13(月) 21:31:51
リンクをクリックしたらイベントっていう風に記述してるんだが、クリックするたびに表示が先頭に戻ってしまう。
なんとかならないの?
254デフォルトの名無しさん:2010/09/13(月) 22:28:44
ソース貼れ
255デフォルトの名無しさん:2010/09/14(火) 00:23:57
>>253
多分 href="#" となってるものにイベント貼ってるだろ

$('a').click(function(e){
e.preventDefault(); // ← これでいけるはず
256デフォルトの名無しさん:2010/09/16(木) 16:32:20
http://jqueryfordesigners.com/bbc-radio-1-zoom-tabs/
これ設置したら画像がやたら拡大表示されるんだけど、なぜ?
257デフォルトの名無しさん:2010/09/16(木) 18:22:09
>>256
「BBC Radio 1 Zoom Tabs」って名前で拡大表示が目的のプログラムなんだから、
画像が大きく表示されて当然じゃね?

大きさが気に入らないのなら、初期化時の拡大率の値を減らせば縮むはず。
zoomtabs(15);
(省略時は、引数が10の指定と同じ)

「fullView」と「zoomView」の宣言の中身を変えればもっと細かく調整できるが、
「em」で相対指定してるから、大きくなりやすいのかもな。
258デフォルトの名無しさん:2010/09/17(金) 09:21:48
>>257
ありがとう!
やっぱり拡大がデフォルトなのか…。
ちゃんと自分でスクリプト読めるように勉強するわ。
259デフォルトの名無しさん:2010/09/18(土) 11:35:49
1つのdatepickerで2つ日付選択して範囲選択させたいのですがそういうモードってないですか?
どこかのサイトでdatepickerでやってるの見たんですけどどこだったかわからなくなってしまって…
260248:2010/09/20(月) 18:38:47
>>259
人に教えられるほどの知識はありませんが・・・。
>>248を少し変えれば動きませんか?

具体的には、範囲の開始日を入れるinputをα、終了日を入れるinputをβとして、(4)を
 4-a 一回目のピックアップだったら(αとβが両方とも未入力だったら)ピックアップした日付をαにいれてそのまま
 4-b 二回目のピックアップだったら(αに入っていてβが未入力だったら)ピックアップした日付をβにいれて自分をhide
という感じではどうでしょう? 実験はしていないので、もし動かなかったらゴメンナサイ(汗
261デフォルトの名無しさん:2010/09/20(月) 20:29:18
要素をn個づつwrapする方法が分かる方いらっしゃいますか?
例えば
<p>text1</p>
<p>text2</p>
<p>text3</p>
<p>text4</p>

<div>
<p>text1</p>
<p>text2</p>
</div>
<div>
<p>text3</p>
<p>text4</p>
</div>
としたいです。
$("p:nth-child(2n),p:nth-child(2n-1)").wrapAll("<div />");
等と書いてみましたが、無理でした。
偉い人、よろしければご教授下さい。お願いします。
262デフォルトの名無しさん:2010/09/20(月) 22:43:03
マルチするなら、先に質問した所にその旨書いとけよ
263デフォルトの名無しさん:2010/09/21(火) 05:59:38
>>260
datepickerを先に作っておくと表示させたときにレイアウトがずれそうなんで
inputに設定して1回目選択で今日の日付と選択した日付の文字列をYY/MM/DD - YY/MM/DDのように生成
2回目以降は1つ前に選択した日付との文字列を生成する感じでやってるんですけど
1回ずつ消えるのが見ずらいのでどこかの解説サイトのようなところで1回のポップアップで2回選択していたのを見て
datepickerの設定でなんとかselectみたいなのをtrueにするだけでできるようだったので設定変えるだけでできるのかと思い質問させていただきました。
264248:2010/09/22(水) 00:27:26
>>263
カラッポのDIVでずれちゃうようなタイトなレイアウトだと、確かに難しいかもしれませんね。
そういう話になってしまうと「本家のリファレンスを参照」としかいえません。
パっと見ではちょっとムリそうですが・・・お役に立てず申し訳ありません。
265デフォルトの名無しさん:2010/09/23(木) 00:47:07
IE8, Firefoxで動作する、時刻入力補助のjQueryを探しています。
jquery.timepickr.js
が良さそうなのですが、IE8では動作しませんでした。

また、
ttp://jsajax.com/Articles/TimePicker/873
にあるものもjquery-1.4.2ではレイアウトが崩れ、使えませんでした。

時刻の入力補助で良いものがありましたら教えていただけないでしょうか?
266デフォルトの名無しさん:2010/09/23(木) 00:58:56
jquery.timepickr.js
が良さそうです
267265:2010/09/23(木) 02:24:39
>>266
先ほど確認したら jquery.timepickr.js はデモサイトでIE8でも動いていていました(なんでだ?)
jquery.timepickr.js を導入しようと思い

ttp://code.google.com/p/jquery-utils/wiki/UiTimepickr

を参考にローカルでトライしてみたのですが、レイアウトがズタズタになります。

ダウンロードしたアーカイブ中のどのjs/cssを具体的に使用すれば正常に
デモのように動くかどなたかご存知ないでしょうか?
268デフォルトの名無しさん:2010/09/23(木) 02:28:21
Report a bug

Please use the project's bug tracker to report bugs, also check if the bug is not already reported.

To report a bug, click on New issue and fill up the form. Don't forget to specify your OS and Browser (vendor and version). Finally, add ui-timepickr in labels.
269デフォルトの名無しさん:2010/09/30(木) 11:59:37
jQuery Alert Dialogプラグインを、
jQuery uiのDialogから呼ぶと、一瞬表示されて
すぐ次の処理に移ってしまうんだな。。。
これは困った。
270デフォルトの名無しさん:2010/10/04(月) 02:11:53
jQuery + IE の select での change イベントの不具合って有名なんかな?
いっつもこれだけjQueryつかえずonchange使って回避してるけど、
いい加減面倒になってきた(´・ω・`)
271デフォルトの名無しさん:2010/10/06(水) 03:35:52
>>270
1.4.2だとカーソルキーで変更時、changeイベント効かないようですね
http://d.hatena.ne.jp/cyokodog-memo/20100928/1285675913
272デフォルトの名無しさん:2010/10/13(水) 19:30:18
下記のようなコードを書いて、selectの項目を削除した後の内容を
取得してalertを出しているのですが、削除結果が正しく反映されません。
どこが間違っているのでしょうか?
<script type="text/javascript" src="lib/jquery-1.4.2.min.js"></script>
<body>
<select id="items" size="8">
<option value="0">Item0</option>
<option value="1">Item1</option>
<option value="2">Item2</option>
<option value="3">Item3</option>
<option value="4">Item4</option>
<option value="5">Item5</option>
</select>
<button id="del_item" onclick="delItem();">[−]</button>
</body>
<script type="text/javascript">
function delItem(){
$("#items option:selected").remove();
var itemLength = $("#items").children().length;
var valIdx = 0;
var str;
for (var i = 0; i < itemLength; i++) {
var item = $("#items").children("[value=" + valIdx + "]").text();
if (item !== "undefined") {
str += valIdx + " : " + item + "\n";
}
valIdx++;
}
alert(str);
}
</script>
273デフォルトの名無しさん:2010/10/13(水) 21:44:08
まさかIEじゃなかろうな
274デフォルトの名無しさん:2010/10/13(水) 22:05:08
firefoxです
275デフォルトの名無しさん:2010/10/14(木) 09:40:10
jQueryの、日本ユーザ向けのフォーラムってないよね。
2chだとコードがネストされてなくて読みづらいから、
誰か作ってちょーだい(=´∀`=人)
276デフォルトの名無しさん:2010/10/14(木) 10:41:54
>>272
"[value=" + valIdx + "]"
ではなく、
'option:eq(' + i + ')'
としてみては?

↓に詳細を書いています。
http://d.hatena.ne.jp/sutara_lumpur/20101014/1287020351
277デフォルトの名無しさん:2010/10/14(木) 11:07:54
>272 optionを削除してもvalueは詰められないって分かってる?
278272:2010/10/14(木) 11:56:33
>>276>>277
アドバイスありがとうございます。
option:eq使って、思った通りの処理ができました。
value値も、eq使って再構成できました。
279デフォルトの名無しさん:2010/10/21(木) 15:21:34
すでに登録されているファンクションを取り出して実行したいと思い、
まず以下の2方法でファンクション取得を試みましたが、undefineになってしまいました。
ファンクション取得は出来ないのでしょうか?

jQuery("#save").attr("onclick")
jQuery("#save").attr("click")
280デフォルトの名無しさん:2010/10/21(木) 15:46:29
jQuery("#save").click();

とか?
281デフォルトの名無しさん:2010/10/21(木) 17:48:48
半分寝てましたw

$("#save").click();

これでクリックイベントが起きるので、それに関連付けたファンクションが
定義されていれば、そのファンクションが実行されると思います。
282デフォルトの名無しさん:2010/10/21(木) 18:00:56
$("#save").click( function(){
 alert("クリックされますた");
});

もしくは、

$("#save").bind("click", function(){
 alert("クリックされますた");
});
283デフォルトの名無しさん:2010/10/22(金) 01:08:51
モバイル用がリリースされたね
284デフォルトの名無しさん:2010/10/22(金) 12:03:13
<div id="hoge">
 <div id="hage">
   <div id="moge">
     ハゲ!
   </div>
 </div>
</div>

こんなHTMLの、mogeの部分のテキストを、
#hogeの下の#hageの下の#mogeのtext
といった意味でセレクタを指定するには、
どうすればいいのん?

285デフォルトの名無しさん:2010/10/22(金) 13:14:57
>>284
そのまま順に子供を選択していけばいいよ。
286デフォルトの名無しさん:2010/10/22(金) 23:18:35
$('#hoge > div > div').text();
っていう書き方を知りたかったんじゃない?
287デフォルトの名無しさん:2010/10/22(金) 23:40:38
$('#hoge > #hage > #moge').text();

って書ければ完璧なんだけど
288デフォルトの名無しさん:2010/10/23(土) 00:09:34
>>287
それで問題なくできるよ
289デフォルトの名無しさん:2010/10/23(土) 00:31:38
>>287
いや、それなら $('#moge') だけでいいじゃん。
290デフォルトの名無しさん:2010/10/23(土) 00:36:18
それだと hoge hage に囲まれていない moge まで見つかってしまう
291デフォルトの名無しさん:2010/10/23(土) 00:41:29
>>290
HTMLを勉強しなおせ
IDの値が重複することはあってはならない
292デフォルトの名無しさん:2010/10/23(土) 00:45:03
>#hogeの下の#hageの下の#mogeのtextといった意味で

これは意味のあることなの?
293デフォルトの名無しさん:2010/10/23(土) 02:04:37
>>291
> HTMLを勉強しなおせ
> IDの値が重複することはあってはならない

まああえて擁護すれば、複数のページに同じjsを当ててて
このページではdiv#hage>div#hoge>div#mogeがあるけど
別のページではdiv#hageの内部にはないので、そのときは
jqueryを効かせたくない、というパターンはあるのであろう
294デフォルトの名無しさん:2010/10/23(土) 10:04:35
jQuery UIのダイアログを1つのHTML内に複数入れて使うときとかは、
そういう使い方したいときはあるな。

DIV要素の親子関係でIDを見た場合は重複してないけど、
子要素だけで見たら、複数のダイアログでIDの重複が存在するような場合。
親子セットなら重複していないという考え方でセレクタを指定したいんだろ。

確かにHTMLの仕様的にはよろしくないんだろうが、
業務としてWebアプリとか組んでる場合は、生産性とか保守性を考慮して
そういう実装にしたいケースは容易に想定できる。
295デフォルトの名無しさん:2010/10/23(土) 20:53:31
>>294
例外を許容する事で、idセレクタ自体が意味を成さなくなる事の方が生産性や保守性に影響が出るんじゃね?

動的な親子関係を考慮するような場合は、
無理にセレクタで解決せず、jQueryのTraversing機能を使えばいい。
どうしてもセレクタだけで実装したいなら、id以外の属性を使うなりすればいい。
296デフォルトの名無しさん:2010/10/25(月) 04:33:13
$("[id=hoge] > [id=hoge] > [id=moge]")
でどうでしょう?
teeda とか使ってると必要なケースもあるでしょう
297デフォルトの名無しさん:2010/10/25(月) 06:32:55
>>296
だからなぜ id属性 を使うんだw
classなりrelなり、適当な属性作るなりしなよ。
298デフォルトの名無しさん:2010/10/25(月) 11:58:48
構造に触れなくて実装側で吸収しなきゃいけないことなんて
いくらでもあるやないですか…。
299デフォルトの名無しさん:2010/10/25(月) 12:22:53
そうそう、分業体制で短納期の仕事してると、
もう保守性とかいってらんない。
できるだけメンテしやすいようには心掛けるけど、
プロジェクトメンバーが1人抜け2人抜けしていくとね・・・
300デフォルトの名無しさん:2010/10/25(月) 15:22:49
JSは弄れてHTMLは弄れない状況ってそうそう無いだろう
idをclassや別属性に置換えるのってそんな難しいか?

最低限の仕様も守れないのに保守性とか言われましても・・・
そりゃ馬鹿らしくなってスキルある人から辞めてくわw
301デフォルトの名無しさん:2010/10/25(月) 19:09:07
300は、仕事でWeb開発を
やったことない人に見える
302デフォルトの名無しさん:2010/10/25(月) 19:14:52
あれだろ、F1サーキットのアスファルトやるような業者が 駐車場のアスファルト業者に文句言ってるようなもんだ。
いいんだよ、ほっとけば。 そういうとこは、やっすい金額でへこへこ作ってる底辺の状況など想像もできないだろう。
303デフォルトの名無しさん:2010/10/25(月) 19:28:58
>>302
こいつマジで頭悪いな。
そもそも自由でないことが問題なのに、もっと良くない例を持ち出して
そっちよりマシだから我慢しろとか、全くお門違いの指摘だね。
上下の差こそあれ悪いものは悪いんだよ。
304デフォルトの名無しさん:2010/10/25(月) 19:30:17
そして煽り耐性すらないと・・・しかもそんなこと言ってないこと曲解w
305デフォルトの名無しさん:2010/10/25(月) 20:59:04
どう考えてもid属性重複させちゃうような突貫工事しちゃう方がF1サーキットだろw

専門学校生でも理解できるような仕様エラーなのに、仕方無いで片付けた挙げ句に
生産性とか保守性とか言い出しちゃうとかもうね・・・

ブラック開発現場に洗脳されすぎじゃね?
306デフォルトの名無しさん:2010/10/25(月) 21:28:55
世の中の中小Web開発系企業は大半がブラックだろ。
財閥系とか総研系にお勤めのお方は、
仕様を厳密に確認する余裕があってうらやましい限りですな。
307デフォルトの名無しさん:2010/10/25(月) 22:05:18
言いたいことは解る。
数人〜十数人規模の中小企業を何社か渡り歩いたが、
そこまでレベルの低い現場は見たことないな・・・専門学校生でも雇ってるの?
もしかして開発会社じゃなくて、火消し専門の運営会社なんじゃね?
308デフォルトの名無しさん:2010/10/25(月) 22:10:53
POSTとGETの違いがわかりません><
絶対パスと相対パスがわかりません><
文字コードがわかりません><
CSSって何ですか!?><
id属性は重複しちゃいけないんですか!?><
jQueryいれれば全部解決なんです?><

え?常識?何いってるんですか、そんな厳密な仕様調べる余裕普通はないです><;;;
309デフォルトの名無しさん:2010/10/25(月) 23:39:50
>>307
良い環境ばかり渡り歩いたんだね。
テラウラヤマシス

世間には、ブラックばかりを渡り歩く
悲しい人間もいることを、
時には思い出してやってください。。。
今のご時世、仕事選んでなんかいられないの。。。orz
310デフォルトの名無しさん:2010/10/27(水) 09:55:03
ブラック自慢乙
311デフォルトの名無しさん:2010/10/27(水) 12:44:53
ブラックしか行けない人ってのは、自分のスキルが無い事を自覚した方がいい・・・
312デフォルトの名無しさん:2010/10/27(水) 12:51:15
そっすね
313デフォルトの名無しさん:2010/10/27(水) 14:10:24
いやぁ、照れるじゃないか。
314デフォルトの名無しさん:2010/10/27(水) 21:42:09
each(function(){
...
});
みたいなコード3個以上書いてると、
Rubyのブロックがセンスのいい構文だったんだなって気づく
315デフォルトの名無しさん:2010/10/27(水) 23:11:42
eachって、遅いんでしょ?
forのほうが早いって、死んだ婆ちゃんが言ってた。
316デフォルトの名無しさん:2010/10/27(水) 23:49:51
jQuery.each の事言ってるんじゃないの?forとは使う場面が異なる気が・・・
317デフォルトの名無しさん:2010/10/28(木) 10:10:09
>>314
そして値とインデックスを受けとろうと
function(value, index) と書いてハマる罠。
318デフォルトの名無しさん:2010/10/29(金) 11:58:16
jqplot で series に指定したライン毎のラベルを、
highlighter のときのポップアップに含めることはできないでしょうか?

series: [{label: "A"}, {label: "B"}],
highlighter: {formatString: "%L"}, ←のようにしたら "A" になるみたいなのが理想
319デフォルトの名無しさん:2010/10/29(金) 12:08:16
もの凄く初心者的な質問で申し訳ないんですが、
変数の使い方で、

 var hoge_html = "<div id='hoge'>HAGE!!</div>";
 var $hoge_html = $("<div id='hoge'>HAGE!!</div>");

みたいに、「$」を付けて宣言したり値を入れたりする
ケースがあるのですが、どういう用途で$を付けるんでしょう?

「jQuery $」とかでググっても、Google先生は記号をうまく
検索してくれないみたいで、毎日悶々と生活しています。
よろしくお願いいたします。
320デフォルトの名無しさん:2010/10/29(金) 12:28:04
$ は jQuery のエイリアス
$() で jQuery() と一緒
関数を読んでいる
321デフォルトの名無しさん:2010/10/29(金) 12:32:11
頭が悪いんですね、可哀想。
322デフォルトの名無しさん:2010/10/29(金) 12:32:48
変数名に$をつけるのは、それがjQueryオブジェクトだと認識しやすくする為。
323デフォルトの名無しさん:2010/10/29(金) 14:45:25
jQueryとPHPでプログラム作成中で
独学で基本的なところもわかってない俺だが誰か教えて欲しい


$(function(){
$("#inside1").click(function(){
var x=$(this).text();
$("#outside").html("<input size=\"15\" type=\"text\" id=\"inside2\" name=\"in_text\" value=\"" + x + "\"\"><input type=\"button\" id=\"change\" name=\"ch_button\" value=\"change\">");
});

$("#change").click(function(){
var y=$("inside2").value();
$("#outside").html("<span id=\"inside1\">" + y + "</span>");
});
});

<div id="outside"><span id="inside1">default text [click]</span></div><br>


こんな感じで、テキストをクリックしたらテキストボックスに切り替わって編集
そのあとchangeボタンで編集後のテキストで元のテキスト状態に戻る
っていうのをやりたいんだが、

$(XXX).html で埋め込んだHTMLの中にjQueryを埋め込んでも動作しなくて
入れ子状態?とでも言えばいいのだろうか、
埋め込んだ先で埋め込む前のjQueryの記述や要素を取得することができない
っていうのはjQuery側の仕様なのかなぁ

テキスト部分をクリックしたら簡単に編集ができる っていう仕組みを
プログラムに取り入れたいのが目的で、難儀してる
仕様としてこんな方法があるとか、何かいい方法ないだろうか?
324デフォルトの名無しさん:2010/10/29(金) 20:00:20
>$(XXX).html で埋め込んだHTMLの中にjQueryを埋め込んでも動作しなくて
>入れ子状態?とでも言えばいいのだろうか、

の意味がよくわらかんのだが、$(function() { ... });が実行されないという事?
325デフォルトの名無しさん:2010/10/29(金) 20:12:23
live使えば? idが変わっても動くかどうかわからないけど。
326319:2010/10/29(金) 20:47:35
>>320>>322
ありがとうございます。

いまいち理解できません。。。
jQueryの動作原理をよく理解せずに使ってることが
そもそもダメっぽいです。
基礎の基礎をやりなおしてきます。
327デフォルトの名無しさん:2010/10/29(金) 22:48:49
>>323
<div class="editable">this is editable</div><br />
<div class="editable">this is editable</div><br />
<script>
$(function(){
var editableFunc = function()
{
var $editable = $(this);
$editable
.unbind('click', editableFunc)
.html('<input type="text" value="' + $(this).text() + '" /><button type="button">決定</button>')
.find('button').click(function(e){
e.stopImmediatePropagation();
$editable
.html($editable.find('input:first').val())
.click(editableFunc)
})
}

$('.editable').click(editableFunc);
})
</script>


多分、$('#change').click()設定時に#changeが存在しないのがいけないのかと。
328デフォルトの名無しさん:2010/10/30(土) 13:18:09
>>322
なるほど!
329デフォルトの名無しさん:2010/10/30(土) 15:04:34
>変数名に$をつけるのは、それがjQueryオブジェクトだと認識しやすくする為。

認識「しやすい」っていうのは抽象的というか曖昧だね。
認識「しにくい」場合ってあるの?
prototypeとか他のライブラリと被ったりする場合?
330デフォルトの名無しさん:2010/10/30(土) 15:13:06
人間側の認識の話じゃない?
331デフォルトの名無しさん:2010/10/30(土) 15:14:55
なるほど。
332デフォルトの名無しさん:2010/10/30(土) 15:16:18
JavaScriptの仕様的には、変数名の先頭に
$付ける場合と付けない場合とで、
どういう違いがあるんだろう?
333デフォルトの名無しさん:2010/10/30(土) 15:21:53
>>332
ない
変数名なんて別に日本語でもいいんだよ
334デフォルトの名無しさん:2010/10/30(土) 15:34:10
Uploadifyで画面遷移なしにファイルがアップロードできるっていうから飛びついたのですが、詰まりました・・・

アップロードしたファイルが画像かどうかをチェックして、画像じゃなかったらアップロードをキャンセルしようと思ったのですが、キャンセルされずにそのままアップロードされてしまいます

<script type="text/javascript">
$(document).ready(function() {
$("#uploadify").uploadify({
'uploader' : 'scripts/uploadify.swf',
'script' : 'scripts/uploadify.php',
'cancelImg' : 'cancel.png',
'folder' : 'uploads',
'queueID' : 'fileQueue',
'auto' : true,
'onSelect' : function(event, queueID, fileObj) {
rObj = ".jpg$";
if (fileObj.name.match(rObj)) {
alert("match");
}else{
alert("not match");
uploadifyCancel(queueID);
} } } ); });
</script>
<body>
<div id="fileQueue"></div>
<input type="file" name="uploadify" id="uploadify" />
<p><a href="javascript:jQuery('#uploadify').uploadifyClearQueue()">Cancel All Uploads</a></p>
</body>

こんな感じで書いてます
uploadifyCencel関数にキャンセルしたいファイルのqueueIDを渡せばよいとあったのでその通りにしてみたのですが・・・
自分1人ではどうしようもない状態です。よろしくお願いします
335デフォルトの名無しさん:2010/10/30(土) 16:17:27
>>334
rObj = ".jpg$"; にマッチしてねーんじゃね?
rObj = /jpg$/; と正規表現で書けばいーんじゃね?
336デフォルトの名無しさん:2010/10/30(土) 16:27:01
>>335
いや、ちゃんとマッチングはしています
それはalertで確認していますので
337デフォルトの名無しさん:2010/10/30(土) 16:31:19
>>336
uploadifyCancelはグローバルスコープの関数なん?
338デフォルトの名無しさん:2010/10/30(土) 17:14:55
>>337
うっ、グローバルスコープかどうかは正直分からないです・・・
呼び出せていない可能性を忘れていました
調べても出てこないし、Uploadifyを使うのってマイナーなのかな・・・
339デフォルトの名無しさん:2010/10/30(土) 17:28:26
>>338
uploadifyCancelでググった限りだけど
jQuery('#uploadify').uploadifyCancel(queueID); と書くっぽいね。
340デフォルトの名無しさん:2010/10/30(土) 17:31:32
uploadify.phpは脆弱すぎるので、使わない方がええな・・・
341デフォルトの名無しさん:2010/10/30(土) 18:01:04
>>339
おぉ、できました。ありがとうございます!!
よく見たら、確かにそう書いてあるのがありましたね・・・

>>340
まじすか・・・できたと思ったら・・・
うーん、他の方法も探してみることにします
342デフォルトの名無しさん:2010/10/30(土) 23:51:03
>>341
いや、phpがしょぼいというか恐らくサンプル的なコードなだけで、
jsやswfはしっかりしてると思うよ。
343デフォルトの名無しさん:2010/11/04(木) 12:27:19
>>325
>>327
遅レスだが大変参考になりました
ありがとうございます

>>324
基礎知識がないからかうまく説明できないのだけど
サンプルで書いたコードを実行しても
$("#change").click(function(){
の部分が実行されなくて困ってました
わかりづらくてスマソ
344デフォルトの名無しさん:2010/11/05(金) 14:00:17
$はjQueryの略ですけど、$$って何ですか?
345デフォルトの名無しさん:2010/11/05(金) 15:06:31
>>344
それprototype.jsとかじゃないの?jQueryは$とjQueryしかグローバル汚さないはずだけど
346デフォルトの名無しさん:2010/11/13(土) 12:11:21
.fadeInとslideDownの効果を同時に使うって出来ますか?
スライドしながらボワっと現れるようにしたい

$("<div class = 'class'>"***"</div>").appendTo('#***').hide().fadeIn("slow").slideDown("slow")
だと、フェードインはするけどスライドしない

fadeInとslideDownの並びを逆にすると
スライドするけどフェードインしないってことになってしまいます
347デフォルトの名無しさん:2010/11/13(土) 22:11:30
>>346
.animate()
348デフォルトの名無しさん:2010/11/14(日) 01:56:34
このスレもっと活性化して欲しいage
349デフォルトの名無しさん:2010/11/14(日) 15:16:55
>>347
出来た!ありがとうございました
350デフォルトの名無しさん:2010/11/15(月) 13:50:25
find関数の使い方について。

 var $tmp = $('<input id="foo" value="foo_value"/>foo_text');
 var fooValue = $tmp.find("#foo").val();

これだと、fooValueの値はundefinedになるんですが、

 var $tmp = $('<div><input id="foo" value="foo_value"/>foo_text</div>');
 var fooValue = $tmp.find("#foo").val();

DIV要素で囲んだこっちは、ちゃんと"foo_value"が取得できます。
最初の、$tmpの書き方で、findして対象のval()を取る方法って
ありますか?
351デフォルトの名無しさん:2010/11/15(月) 14:35:35
どういう目的でfindを使おうとしてるのかわからない。
普通にこれじゃダメなの?

var fooValue = $('input#foo').val();
352デフォルトの名無しさん:2010/11/16(火) 05:42:33
>>351
単純に上手く行かなかったから知りたいだけじゃない?

>>350
バージョン何?jQuery1.4.3と1.4.4+Mac Firefox3.5、chrome9でとりあえず試してみたけど上手くいったよ?
3531/2:2010/11/16(火) 22:06:03
jquery+flexigridで表を作成しております。

{
page: 1,
total: 5,
row: [
{id:'1',cell:['1','normal','テスト1','2009/07/07 15:32:27']},
{id:'2',cell:['2','sad','テスト2','2009/07/06 21:04:30']},
{id:'3',cell:['3','smile','テスト3','2009/07/06 13:18:29']},
{id:'4',cell:['4','smile','テスト4','2009/07/05 19:46:41']},
{id:'5',cell:['5','sad','テスト5','2009/07/05 15:25:15']}
]
}

この形のJSONを読み込んだところ、表の外枠は表示されるのですが中身のデータが表示されません。
3541/2:2010/11/16(火) 22:07:41
ちなみにソースは
$(function(){
$("#flex1").flexigrid({
url: 'post.json',
dataType: 'json',
colModel : [
{display: 'ID', name : 'id', width : 40, sortable : true, align: 'center'},
{display: '気分', name : 'feel', width : 40, sortable : false, align: 'center'},
{display: '件名', name : 'name', width : 200, sortable : true, align: 'left'},
{display: '作成日', name : 'date', width : 120, sortable : true, align: 'left'},
{display: 'リンク', name : 'link', width : 80, sortable : false, align: 'center'}
],
width: 600,
height: 'auto'
});
});
です。
Firebugで見たところちゃんとJSONとしてファイルを読み込んでいます。
355デフォルトの名無しさん:2010/11/17(水) 10:59:31
'page'
'total'
'row'
かな?
356デフォルトの名無しさん:2010/11/17(水) 11:04:42
ごめん、上の忘れて

調べてみます
357デフォルトの名無しさん:2010/11/17(水) 12:42:27
flexigrid.jsの414行目

data.rows,



data.row,

にしたら表示されましたが他が原因だったらゴメン
358デフォルトの名無しさん:2010/11/18(木) 08:30:14
>>354
そもそも、これJSON形式じゃなくね?
359デフォルトの名無しさん:2010/11/18(木) 08:44:21
JSONは、>>353のほうでしょ
360デフォルトの名無しさん:2010/11/18(木) 08:50:27
>>359
おっと、アンカー間違えた。>>353
361デフォルトの名無しさん:2010/11/18(木) 09:36:55
こっちの勉強不足かもしらんが、JSONに見える

そうでない点を教えてくれるとありがたい
362デフォルトの名無しさん:2010/11/18(木) 09:49:06
形式としては JSON ということで間違いないけど
jQuery が期待している JSON ではないということだ
363デフォルトの名無しさん:2010/11/18(木) 09:52:07
>>361
>>353はあきらかにJSONじゃない

こっちが正しいJSON
{
"page": 1,
"total": 5,
"row": [
{"id":"1","cell":["1","normal","テスト1","2009/07/07 15:32:27"]},
{"id":"2","cell":["2","sad","テスト2","2009/07/06 21:04:30"]},
{"id":"3","cell":["3","smile","テスト3","2009/07/06 13:18:29"]},
{"id":"4","cell":["4","smile","テスト4","2009/07/05 19:46:41"]},
{"id":"5","cell":["5","sad","テスト5","2009/07/05 15:25:15"]}
]
}
364デフォルトの名無しさん:2010/11/26(金) 17:03:56
:contains(text)に近いフィルタで、
正規表現にマッチするのを含むフィルタはありますでしょうか?
365デフォルトの名無しさん:2010/11/27(土) 01:48:51
jquery.ajaxでの質問なのですが、非同期通信のためか、例えば以下のようなコードだと
通信が終わる前に次の関数(makeData)が呼び出されてしまいます。

通信完了を待って次の関数に移るためには同期通信にするしかないのでしょうか。
というのも、同期通信(asyncをfalseにする)と通信中は画面がフリーズしたかのようになってしまうため、
できれば非同期通信にしたいというのが希望です。

function test(){
getData();
makeData();
}

function getData(){
jQuery.ajax({
  (略)
});
}

function makeData(){
//通信が終わる前にこっちが呼び出される
}
366デフォルトの名無しさん:2010/11/27(土) 03:35:04
コールバックかメソッドチェーンすればよいのでは?
367デフォルトの名無しさん:2010/11/27(土) 13:12:38
makeData(); を
jQuery.ajax({
  (略)
ここに通信完了後の処理を書く場所がある
});
の中に書く
368デフォルトの名無しさん:2010/11/28(日) 02:40:07
はじめまして。ご教示願いたいです。
appendを使ってHTMLにタグを挿入した後に、findを使うとappendで生成されたタグが検索対象に含まれません。
どの様にすればappendしたタグをfindの検索対象に含める事ができますかね。
よろしくお願い致します。
369デフォルトの名無しさん:2010/11/28(日) 07:09:48
append
370デフォルトの名無しさん:2010/11/28(日) 07:12:19
appendを使おうが何を使おうが関係なく後から作成された要素だからといってfndで検索できないことはありません。
動かないコードをさらせば?
371デフォルトの名無しさん:2010/11/28(日) 17:50:44
iframeを使った時の挙動がいまいち解らないので質問させてください
以下のようなソースを用いて、iframe内のイベントをtopで制御したいと思って書いていたのですが、hogeが呼ばれません。
何故なのでしょうか
ヒント、参考資料などがあれば是非教えていただきたいです。

/a.html
  <script type="text/javascript" src="/lib/js/jquery-1.4.2.min.js" charset="UTF-8"></script>
  <script type="text/javascript" src="b.js" charset="UTF-8"></script>
  <iframe id="mainframe" width=100% height=100% src="/frame/c.html"></iframe>';

b.js
  $("#mainframe").ready(function ()){
    $("#mainframe").contents().live("click",hoge);
  }
  function hoge(e){}

/frame/c.html
  <script type="text/javascript" src="/lib/js/jquery-1.4.2.min.js" charset="UTF-8"></script>
  <script type="text/javascript" src="/frame/d.js" charset="UTF-8"></script>

372デフォルトの名無しさん:2010/11/28(日) 22:42:21
jqueryってパフォーマンス悪い?
373デフォルトの名無しさん:2010/11/29(月) 03:43:22
もともとパフォーマンスを考えたものではないだろう
とはいっても、そんなに悪くはない
悪いのはだいたい使い方の方だ
374デフォルトの名無しさん:2010/12/05(日) 16:46:08
2種類のクラス、例えばabcとdefの両方を持つ要素の選択は
下記方法が考えられますが、それよりシンプルな書き方はありますでしょうか?
$('[class*=abc][class*=def]')
375デフォルトの名無しさん:2010/12/05(日) 21:18:33
>>374
なぜそんな面倒くさいセレクタを使うんだ…
$('.abc.def')
376デフォルトの名無しさん:2010/12/05(日) 21:36:26
>>375
だって、リファレンスで見つけられなかったんだもん
377デフォルトの名無しさん:2010/12/05(日) 23:05:25
IE9で動くの?
378デフォルトの名無しさん:2010/12/05(日) 23:33:24
IE6以上から動きます。

2001年という10年前のブラウザでも
JQueryがまともに動くのだからすごいとしか
言いようがありません。
379デフォルトの名無しさん:2010/12/05(日) 23:37:41
IE6ってSP5くらいまで逝ってたんだっけ?
380デフォルトの名無しさん:2010/12/06(月) 00:37:09
>>376
どこを見ているのか知らないが、クラスセレクタの項に書いてある
http://hp.vector.co.jp/authors/VA022006/css/selector.html#class-selectors
381デフォルトの名無しさん:2010/12/06(月) 06:32:26
>>380
なるほど、jQueryでなく、スタイルシートの仕様に絡んでいるんですね。
参考になります。
382デフォルトの名無しさん:2010/12/07(火) 07:06:09
>>381
> Borrowing from CSS 1-3, and then adding its own, jQuery offers a powerful set of tools for matching a set of elements in a document.
http://api.jquery.com/category/selectors/
383デフォルトの名無しさん:2010/12/07(火) 07:08:45
リファレンスのサンプルにもあるなw
http://api.jquery.com/class-selector/
384デフォルトの名無しさん:2010/12/12(日) 01:49:53
jQueryで追加したHTML要素を、すべて元に戻すAPIってないですか。
1つずつ.remove()で消す、追加するHTMLに共通のclassをつけておいて.remove()、ってのが面倒で…。
385デフォルトの名無しさん:2010/12/12(日) 03:14:21
reload
386デフォルトの名無しさん:2010/12/12(日) 10:13:10
元々ある全ての要素にdeaultってclass付けておいて:notでremove()
387デフォルトの名無しさん:2010/12/12(日) 12:47:27
>>384
自分でAPIを拡張するのが手っ取り早い。
DOMノードを挿入するAPIを拡張して、挿入したノードを配列に格納しておけばいいだろう。
388デフォルトの名無しさん:2010/12/13(月) 23:18:59
$(document).ready(function() { ... }

が二回呼ばれているようなのだけど
jQueryでタグ追加とかしてもそんな挙動するわけないですよね
389デフォルトの名無しさん:2010/12/13(月) 23:39:49
タグ追加の意味がわからんが
readyを何回書いても一回しか実行されないのは確かだ
390デフォルトの名無しさん:2010/12/14(火) 13:26:06
document が2つあるとか
391デフォルトの名無しさん:2010/12/15(水) 04:43:08
jquery-opacity-rollover.js
というプラグインを使っています
既存のhttpページで問題なく使えていたものが
httpsのページではエラーを吐いてしまいます

エラー内容は
})(jQuery);
となっている最終行で'jQuery'が未定義と言われます
他の読み込んでいるjsは全て消してみましたが解消せず

調べるとjQueryと$がエイリアスになっているらしいのですが
具体的に何のエイリアスになっているのでしょうか?
エイリアス元と置き換えたらエラー止まる…でしょうか?
392デフォルトの名無しさん:2010/12/15(水) 06:53:51
$がjQueryのエイリアスなんじゃないの
393デフォルトの名無しさん:2010/12/15(水) 07:46:20
>>391
googleのapi使ってjQuery呼んでないか?
ひょっとして。
394デフォルトの名無しさん:2010/12/15(水) 10:53:10
>>391
> 既存のhttpページで問題なく使えていたものが
> httpsのページではエラーを吐いてしまいます

わかってるじゃん
関連ワードでググッてみれば
395391:2010/12/15(水) 13:50:10
>>392
あ、そうなんですかー
となると最終行の})(jQuery); はjQueryって文字列を無名関数の引数にしてる?
わからん;;

>>393
確認しましたが自サーバにあげてあるjQuey呼んでいたので該当しなさそうです

>>394
https+jquery、SSL+jqueryでぐぐってみましたが…
関連ワードの選定がおかしい?
396デフォルトの名無しさん:2010/12/15(水) 14:53:50
>他の読み込んでいるjsは全て消してみましたが解消せず

そりゃ消したら動く訳ないな
397デフォルトの名無しさん:2010/12/15(水) 16:21:30
jquery-1.x.x.js も削除しているとか。
398デフォルトの名無しさん:2010/12/15(水) 21:35:40
【C#, C♯, C#】 MonoMac 【MonoDevelop】
http://hibari.2ch.net/test/read.cgi/mac/1291602001/

詳しい奴、ちょっと↑きてくれ
399デフォルトの名無しさん:2010/12/16(木) 01:31:33
>>391
httpのページではjQueryを読み込むscriptたぐあるけどhttpsのページではないってオチじゃないの?
jquery-opacity-rollover.jsの前にちゃんと読み込んでんの?
400デフォルトの名無しさん:2010/12/19(日) 18:15:38
助けて誰か、誰か助けて
もうわけわからない、ぐぐってコピペしても動かない
もうだめだだめだだめだだめだ
ふぅ


scriptのsrcを入れ替えたいけれど、どう書けばいいのかわからんのです
誰か助けて
【javascript】
※.は2chの先頭半角除去回避
.<script>
.var videoId = 'sm1544885'
.var obj = $.get('http://ext.nicovideo.jp/api/getthumbinfo/' + videoId,null,function(data, stat)
.{
. $(function()
. {
. $('#title').html($('title', data).text())
. $('#player script').attr("src","aaaaa")
. })
.}, "xml");
.</script>

【html】
<div id="title"></div>
<div id="player"><script type="text/javascript" src="http://ext.nicovideo.jp/thumb_watch/sm1544883"></script></div>
401デフォルトの名無しさん:2010/12/19(日) 18:16:32
先頭除去回避できなかった
死にたい
402デフォルトの名無しさん:2010/12/21(火) 13:34:42
JSONファイルが複数あってそれぞれに時系列のデータなのですが

data01.json(ファイルの中身は2008年、2009年、2010年の果物の仕入れ推移)
data02.json(ファイルの中身は2008年、2009年、2010年の牛肉の仕入れ推移)
data03.json(ファイルの中身は2008年、2009年、2010年のパンの仕入れ推移)

たとえばどれかひとつのJSONファイルを読み込んでhtmlテーブルに書き出す、ことはできています。
($.getJSON() → $.each() で回してappend という処理をしています)


ここで質問ですが、これら複数のJSONファイルをマッシュ?して
ひとつのhtmlに書き出す、にはどうすればよいでしょうか?

ページ読み込み時→2008年、2009年、2010年の果物、牛肉、パンすべての仕入れ一覧テーブルを一括で表示

「果物」「牛肉」「パン」アンカーリンクのクリックで
果物のみ、牛肉のみ、パンのみのテーブル表示

「2008年」「2009年」「2010年」アンカーリンクのクリックで
その年だけのテーブル表示

よろしくお願いします。
403デフォルトの名無しさん:2010/12/21(火) 14:09:05
>>402
appendしてhtmlに書き出してるのならそれをJSONファイル分やれば全部書かれると思うけど
それだとダメなの?
404デフォルトの名無しさん:2010/12/21(火) 14:31:27
前半に書きましたが、それはできています。

405デフォルトの名無しさん:2010/12/21(火) 14:34:47
ここで質問ですが、これら複数のJSONファイルをマッシュ?して
ひとつのhtmlに書き出す、にはどうすればよいでしょうか?

ひとつのテーブルに書き出す、です。説明が不足しており申し訳ありません。

406デフォルトの名無しさん:2010/12/21(火) 15:22:03
実際のコード晒してみてくれないとイメージが付かないな。
普通にtbodyにappendしていけば一つのテーブルに書き出せると思うんだけど。
407デフォルトの名無しさん:2010/12/21(火) 15:30:34
次スレweb板でよくね?
408デフォルトの名無しさん:2010/12/21(火) 16:33:12
($.getJSON() → $.each() で回してappend という処理をしています)
このappend先を1つのtbody若しくはtbody毎に区切ってappendしていけばOKな話じゃないのか
409402:2010/12/21(火) 18:12:52
>402 です。お世話になっております。

それぞれのJSONファイルは以下の情報が時系列で含まれています。(項目数は省略しています)

>data01.json(ファイルの中身は2008年、2009年、2010年の果物の仕入れ推移)

{
"title": "果物",
"items":[
{"year" : "2008","exifvolume" : [{"mon" : "3月","volume" : "224個"},{"mon" : "4月","volume" : "281個"}]},
{"year" : "2009","exifvolume" : [{"mon" : "2月", "volume" : "326個"},{"mon" : "7月", "volume" : "221個"}]}
]
}

これと同じ書式で、牛肉JSONファイル、パンJSONファイルが存在します。(続きます)
410402:2010/12/21(火) 18:14:13
(JSONファイルは本当は改行して見やすい記述なのですが、改行が多すぎるという理由で書き込めなくてすみません)

411402:2010/12/21(火) 18:20:19
それらのJSON 3ファイルの時系列を有効にしたままで、下記のような一括テーブルを生成したいというイメージです。

(これも改行が多すぎて駄目だそうなので詰めています。)
<table>
<!-- 2008年 -->
<tr><td colspan=3>2008</td></tr>
<tr><td rowspan=2>3月</td><td>果物</td><td>296個</td></tr><tr><td>牛肉</td><td>1120g</td></tr>
<tr><td rowspan=3>4月</td><td>果物</td><td>224個</td></tr><tr><td>牛肉</td><td>1320g</td></tr><tr><td>パン</td><td>551個</td></tr>
<tr><td rowspan=2>8月</td><td>果物</td><td>224個</td></tr><tr><td>パン</td><td>551個</td></tr>
<!-- 2009年 -->
<tr><td colspan=3>2009</td></tr>
<tr><td rowspan=3>2月</td><td>果物</td><td>328個</td></tr><tr><td>牛肉</td><td>1122g</td></tr><tr><td>パン</td><td>466個</td></tr>
<tr><td rowspan=2>7月</td><td>果物</td><td>529個</td></tr><tr><td>パン</td><td>216個</td></tr>
<!-- 2010年 -->
<tr><td colspan=3>2010</td></tr>
<tr><td rowspan=3>4月</td><td>果物</td><td>523個</td></tr><tr><td>牛肉</td><td>1626g</td></tr><tr><td>パン</td><td>562個</td></tr>
<tr><td rowspan=2>6月</td><td>牛肉</td><td>1176g</td></tr><tr><td>パン</td><td>363個</td></tr>
</table>


伝わりますでしょうか、、、
412デフォルトの名無しさん:2010/12/21(火) 19:01:58
時系列の話ならjQueryっていうよりどうやってソートするかのアルゴリズムの話だなぁ
とか思いながら眺めてみたらテーブルの構造が思った以上に複雑で笑った

それ、自分の感覚だとテーブルの作り方が直感的じゃないんだけど、1つのテーブルの場合はどういう作り方してんの?
yearでtr作って、その後配列の要素分だけtr作るとか?
そういう作り方なら同じようにmonを見て、既に同じ月があればrowspanに+1とtrを追加で地道にやったらいいんじゃないかね
それかJSONを3つ取った時点で一旦マージしてから作るかかな
413デフォルトの名無しさん:2010/12/21(火) 19:10:10
それならJSONデータをマージして1個の大きなデータ作ってから
表示させるのが一番楽じゃないかなぁ
tr追加時にクラスに果物か牛肉かパンの情報与えておけば後で弄りやすいし
CSSもかけて良いと思うけど
414デフォルトの名無しさん:2010/12/21(火) 19:11:25
更新せずに書いたら同様のレスが既にあった
415デフォルトの名無しさん:2010/12/21(火) 22:43:21
jCarouselLiteを使って

<script type=text/javascript src=path/to/jquery.js></script>
<script type=text/javascript src=path/to/jcarousellite.js></script>
<script type=text/javascript>
$(function() {
$(.carousel).jCarouselLite({
btnNext: .next,
btnPrev: .prev,
visible: 5
});
});
</script>

<div class=carousel>
<ul>
<li>aaa</li>
<li>bbb</li>
<li>ccc</li>
<li>ddd</li>
<li>eee</li>
<li>fff</li>
</ul>
</div>
<p><a class=next>次へ</a></p>
<p><a class=prev>前へ</a></p>


で、動くにはうごいたんですが、
続きます。
416デフォルトの名無しさん:2010/12/21(火) 22:45:21
続き

仮に、下記のように、表示件数が設定した数より少なくなってしまった場合に
挙動がおかしくなってしまいます。

<div class=carousel>
<ul>
<li>aaa</li>
<li>bbb</li>
<li>ccc</li>
<li>ddd</li>
</ul>
</div>

<li>が一つしかないときなど、まったく表示されなくなってしまい困っています。
どなたか解決方法をご教授いただけると助かります。
例えば、<li>の要素数を取得して、ある一定の数以下では、実行しないなど。。。
よろしくお願いします。
417デフォルトの名無しさん:2010/12/21(火) 22:56:01
>>415
自分でHTML書いてるのにvisibleの設定値より少なくなるってどんな状態だ?
418デフォルトの名無しさん:2010/12/21(火) 23:05:50
>> 417
CMS使って、SNS見たいな感じのものをやりたくて。
その中の一部にカルーセルな機能を使いたいんです。
それぞれのユーザーごとにvisibleの設定を変えるのは面倒すぎるもので。。。
419デフォルトの名無しさん:2010/12/21(火) 23:20:40
>>418
それならCMSで<ul>を作る時に一緒にvisibleの値を設定するのがいいと思うんだけど。
どうしてもJavaScriptでやりたいなら$('div.carousel > ul > li').lengthで値求めたらいいんじゃないかな
420デフォルトの名無しさん:2010/12/22(水) 10:00:54
appendで思ったんだけど、生成されるhtmlってサーチエンジンから見るとどうなってんですか?

appendするんだから、ユーザーがそのページをロードしないと
コンテンツが存在しないわけじゃないですか?
サーチエンジンも、そこのロボットがページロードしてappendした内容をキャッシュするんでしょうか?
421デフォルトの名無しさん:2010/12/22(水) 10:16:53
>>420
JavaScriptで生成される内容はクロール対象にならないから、
検索ボットに食わせたい内容ならJavaScriptでガリガリ書かない方がいいと思う
JavaScriptも解釈する検索ボットの話も出てるけどまだ現実的じゃないんじゃないかな
http://d.hatena.ne.jp/kazuhooku/20101012/1286901973
422デフォルトの名無しさん:2010/12/22(水) 10:36:58
ありがとうございます。なるほど。

クロール対象にならないってのはjavascript以外の動的コンテンツもですか??

例えばアマゾンのサイト内の商品のページってのは動的なコンテンツに見えますが
ググると上位に出て来ますよね。あれはどういうことなんですか?
自社内でいったん生成してキャッシュしてるのをクローラーに見せてるんでしょうか?
423デフォルトの名無しさん:2010/12/22(水) 10:42:03
>例えばアマゾンのサイト内の商品のページってのは動的なコンテンツに見えますが

いや、商品名とかは普通に静的だろ・・・
まぁAmazonはCanonical URLとか小技使いまくってるけども
424デフォルトの名無しさん:2010/12/22(水) 10:55:16
>>422の動的は多分PHPとかサーバーサイドでの動的って意味じゃないのかな・・・
425デフォルトの名無しさん:2010/12/22(水) 12:06:19
スレチ気味ですみません

そうか。サーバー側で生成するものは動的なコンテンツでもクロールされるんですね。
アマゾンの検索結果ってあるじゃないですか。サイト内の検索窓にアーティスト名とかを入れて、関連商品がざーっと表示されますよね。
その「サイト内検索結果ページ」がグーグル上位(場合によっては1位)にあったりするのが???だったんです。
426デフォルトの名無しさん:2010/12/22(水) 12:39:10
>>425
ブラウザでJavaScriptオフにした状態がクロールされると思えばいいよ
427デフォルトの名無しさん:2010/12/23(木) 04:24:47
ASCII.jpの「40分で覚える!jQuery速習講座」
に載ってるアコーディオンパネルのサンプルコード
で、

$("+dd",this)

ってセレクタの記述が、jquery1.4.1だとうまく動くのに、
1.4.4だとうまく動かないのは、なぜ?
428デフォルトの名無しさん:2010/12/23(木) 11:25:34
40分で書かれた本だから
429デフォルトの名無しさん:2010/12/23(木) 15:01:09
なんだか珍しいセレクタの書き方だね。
よく分かんないけど下記のようにすれば確実だと思う。

if($(this).next('dd').css('display")=='none'){
$('dd').slideUp('slow');
$(this).next('dd').slideDown('slow');
}

$('+dd',this) の代わりに $(this).next('dd') を使ってる。
430デフォルトの名無しさん:2010/12/24(金) 23:33:09
>>427
もう解決策は出てるけど挙動が気になって確認してみたが、
1.4.2から1.4.3にバージョンアップした際にcss周りの処理を
高速化した影響っぽい。

1.4.1だとセレクタを通しても中身が入るのに、1.4.4だとnullに
しかならないからサンプルが動かない。

デザイナーとの分業になってるとか、意図的にCSSのセレクタを
使いたい状況でもない限り、APIの方でアクセスした方が
将来的にも安心だろうな。
431デフォルトの名無しさん:2010/12/25(土) 22:31:53
jQueryのプラグインの中を変更してるんだけど

fn.extend({
init: function
の中で
this.funcMoveLeft = function() { self.moveLeft(); }

とかやってるんだけどこれってどういう意味があるんでしょう?
432デフォルトの名無しさん:2010/12/25(土) 22:49:06
それだけの情報じゃわからんだろw
もっとコード出すとかjQueryプラグインの名前出すとかしないと。
ただ、そのコード見るだけで判断すると単純にfuncMoveLeftってメソッドを定義してるだけだよね
433デフォルトの名無しさん:2010/12/25(土) 22:51:19
>>431
その上に
var self = this
てのもあった
434デフォルトの名無しさん:2010/12/25(土) 23:00:51
>>432
すいません。。
simplyScroll
http://logicbox.net/jquery/simplyscroll/
っていうプラグインで
スライドショーの領域にhoverしたときにその中心とマウスの距離
流れる方向とスピードを変更する機能を追加しようとしてます。

でinitの処理内で
this.$container.mousemove(function(e){})
内でe.pageXとかは取得できるんですけど
その値をthis.o.speedに設定する方法が分かりません。
ひょっとしたらただのjavascriptのスコープの問題かもしれません。
分かりにくい説明ですいません
435デフォルトの名無しさん:2010/12/26(日) 01:11:43
mousemove内のthisがsimplyScrollを見てないからじゃなくて?
下みたいな感じにしたらいけるんじゃないの?

var self = this;
this.$container.mousemove(function(e){
 // thisはdiv.simply-scroll-containerなのでselfでアクセス
 self.o.speed = 設定したい値
})
436デフォルトの名無しさん:2010/12/26(日) 10:22:54
>>435
解決しました!
ありがとうございます。
437デフォルトの名無しさん:2010/12/26(日) 11:00:27
すげー。
438デフォルトの名無しさん:2010/12/26(日) 21:07:32
つーか、thisの扱いをどうするかなんて常識だろ。
439デフォルトの名無しさん:2010/12/29(水) 01:49:13
リンクがクリックされたらjquery.loadで外部ページを読み込んでページの一部を書き換える処理を書いたのですが、
これに加えて、jquery.loadでのページ読み込みが完了したら元ページの一番上(スクロールバーが一番上にある状態)に移動したいのですが、
どのような処理を書いたら良いのでしょうか?
440デフォルトの名無しさん:2010/12/29(水) 02:08:02
>>439
書き換え終わった後で
$(document).scrollTop(0)
とかやったらいいんじゃない?
441デフォルトの名無しさん:2010/12/29(水) 04:13:03
$('#result').load('ajax/test.html', function() {
alert('Load was performed.');
});
442デフォルトの名無しさん:2010/12/29(水) 16:35:59
>>440
できました。
ありがとうございます。
443デフォルトの名無しさん:2010/12/30(木) 20:35:40
質問させてください。

以下のような自作クラスを作り、その中でjquery ui dialogを使っています。

var Sample = function(){
var param,
this.constructor = function(){
$("#dialog-form").dialog({
buttons: {'post': function () {
this.param = 1;
}
});
}
}

このdialogのbuttons パラメータの部分で、this.param = 1 としているのですが、
自分はこれを、Smapleクラスのオブジェクトのparamプロパティに代入するつもりで書いていました。
しかし、やってみるとこのthisはjquery ui dialogのオブジェクトを参照してしまうようで、
意図したとおりに動きませんでした。
このような場合に Sampleクラスオブジェクトのparamプロパティに値を代入させるには
どう書けばよいのでしょうか?

アドバイスいただけると幸いです。
444443:2010/12/31(金) 02:30:53
答えが>>435に書かれていました・・ありがとうございます。
445デフォルトの名無しさん:2010/12/31(金) 06:26:08
クロージャがわかるのになぜ…。
スコープぐらい自分で試して把握しないと、
いつまでたってもthisの挙動が理解できないぞ。
446デフォルトの名無しさん:2010/12/31(金) 06:27:41
varの有無でscope変わるのが卑怯だ
447デフォルトの名無しさん:2010/12/31(金) 06:35:56
letなら気持ちはわかるけど、
varの有無で卑怯の意味がわからんw
俺はよくできてると思うけどな
448デフォルトの名無しさん:2011/01/07(金) 09:09:18
>>438
どうするの?
449デフォルトの名無しさん:2011/01/07(金) 15:20:12
jquery
$('.hoge label').click(function(){
alert("");
});

html
<div class="hoge">
<label for="radio">
<input value="1" type="radio" id="radio" style="display:none;">
</label>
</div>

上記のソースでlabelに設定されている領域をクリックすると
コードが2回実行されます。
inputのidで指定した場合は1回のみ実行なのですが、display:none
のinputがIEで認識されないのでやむなくlabelを指定してfind('input')としています。
2回実行される原因は何なのでしょうか?
450デフォルトの名無しさん:2011/01/08(土) 00:30:13
labelの領域をクリック→labelが反応→対応しているラジオボタンが反応→対応しているlabelが反応って感じか。
原因は知らんけど click イベントの中で e.preventDefault() を入れたら二度呼ばれるのは回避できた。
451デフォルトの名無しさん:2011/01/08(土) 01:43:36
>>448
thisは変数じゃなくてキーワード。
匿名関数内で外部でのthisの実行結果を取り出したいなら、
変数に渡してクロージャ化するのは常套手段。
今のJavaScriptなら基礎レベル。
452デフォルトの名無しさん:2011/01/17(月) 16:35:10
$.postで使う第2引数についてです。
http://allabout.co.jp/gm/gc/24227/2/
を参考にformに入力されたデータをpostする際に、入力項目を列挙せずに
for (form.element.length)みたい感じですっきりさせたいと思いましたが
何故か<form>タグがなく、<form>タグを追加したら非同期ではなくなってしまいました。
<form>タグなしでform.element.lengthのようなアクセスはどう記述したらいいでしょうか?
453デフォルトの名無しさん:2011/01/17(月) 19:54:31
formに入ってればserializeで送れるよ
$.post(url, $('form').serialize(), function(){})

非同期になるのは$.postした時にsubmitしてるからじゃね
454452:2011/01/17(月) 20:51:56
>>453

ありがとうございます!頂いたserialize()をぐぐったところ↓を見つけました
http://semooh.jp/jquery/api/ajax/serialize/+/demo-1/

&でkey=valueになるようですが
key:value,key:value,key:valueの形に返してくれるメソッドはありますでしょうか
455452:2011/01/17(月) 21:10:33
>>453
ごめんなさいserialize()でかえってくる形で大丈夫でした
http://d.hatena.ne.jp/snegishi/20080312/1205314974
ありがとうございました!
456デフォルトの名無しさん:2011/01/21(金) 11:26:15
空のjQueryオブジェクトに、新しく要素を追加するのって
どうやればいいんでしょう?

// 空のjQueryオブジェクトに要素がappendできない
var $list = $([]);
$list.append($("<H3>できない</H3>"));

// 最初に何か1つ入ってればappendできる
var $list = $("<div></div>");
$list.append($("<H3>できる</H3>"));


空のところに追加したいです。
457デフォルトの名無しさん:2011/01/21(金) 12:39:59
何がやりたいのかよく判らないが
色々と誤解があるような気がする

思い切ってエスパーすると

$("body").append($("<H3>できない?</H3>"));

とかではだめ?
458デフォルトの名無しさん:2011/01/21(金) 12:48:14
>>457
ありがとう。
bodyにappendする要素を事前に動的に作成しておきたい、
という趣旨です。

var $list = $([]);
$list.append($("<H3>できない</H3>"));
// さらに$listに対して、form系の要素の追加やイベント設定をした後に
$("body").append($list);

といった感じで。
459デフォルトの名無しさん:2011/01/21(金) 13:34:37
つまり

要素を作りたいがbodyの下には入れたくない
さらに、その"幽霊"要素を必要な時にbodyの下に送り込みたい

という事でしょうか?

あるいは単純に、必要な時に必要な要素が使え、また追加できればよい
という事でしょうか?

前者の例は、そもそも出来るか判らないですが、後者の例でしたら
色々解法はあるかと思います。

例えば、
・必要な時に普通にappendする
・最初にappendして非表示にする
・追加する要素のHTMLコードを文字列配列にして .html(lst[0]);とか適宜適用する

趣旨に反したら御免なさい
460458:2011/01/21(金) 13:40:19
>>459
レスありがとうございます。
その観点で行けば後者なんですが、
そもそも知りたいことは、

「空のjQueryオブジェクトに対して動的に要素を追加できるのか否か」

の1点です。
空でなければ、とりあえずDIV要素で囲むなどして
やりたいこと自体は実現できているので。。。
ただこの場合、とりあえず囲むためだけに使っているDIV要素が
そもそも不要なので、最初から空の状態でオブジェクトを作りたいのです。

461デフォルトの名無しさん:2011/01/21(金) 13:55:25
fragment的なことがやりたいんだろうな。
<div></div>に作って、最後にまとめてappendすればいいんじゃね

var flagment = $('<DIV></DIV>');
// flagmentになんやかんやする
var body = $('body');
flagment.conents().each(function () { body.append(this) });

まあこんなfragment作るより、配列のまま扱うほうが軽くね?とは思うが。
462デフォルトの名無しさん:2011/01/21(金) 14:03:17
出来る事は出来ました。


//objListはパブリックで定義
objList.push($("<H3>000</H3>"));
$('body').append(objList[0]);
463デフォルトの名無しさん:2011/01/21(金) 14:07:09
$([])これで帰ってくるのはただのArrayObjectだったような
だからそのやり方で出来るのは当然かな・・・?
464デフォルトの名無しさん:2011/01/21(金) 14:09:28
>>460
>「空のjQueryオブジェクトに対して動的に要素を追加できるのか否か」
変なこと言ってるって自分で気付いてる?

jQueryオブジェクトってのはDOMの配列みたいなもんで、
それが空ってことは要素ゼロなわけ。
それにappendメソッドを呼んでも何も起こらないのは分かるよね?
465デフォルトの名無しさん:2011/01/21(金) 14:36:51
>>461
やはりDIVで囲んだほうが無難ですかね。。。
不要な要素は入れたくなかったのですが、
確かに最初に<div></div>を作れば、やりたいことは実現できています。

>>462
なるほど、pushを使えば良さそうですね。
試してみたところ、やりたいことに近い状態になりました。
ありがとうございます。

>>463-464
http://stackoverflow.com/questions/2832008/adding-newly-created-dom-elements-to-an-empty-jquery-object
この辺見てたり、「empty jQuery object append」とかでググってたところ、
けっこう似たようなことをやりたがってる人たちが多いような感じだったので
旨い方法は無いかなと探していた次第です。
ともあれ、

1) <div></div>を作ってそこにappend等する
2) pushを使う

このあたりで検討してみます。レスくれた方々ありがとうございました。
466デフォルトの名無しさん:2011/01/21(金) 15:24:15
>> 465
なるほど。addメソッドで追加してやればいいのか。

var a = $('')
a = a.add($('<DIV>1</DIV>'));
a = a.add($('<DIV>2</DIV>'));
a.length // 2

この挙動を見る限り、jQueryオブジェクト(のもつset)自体はimmutableなんじゃないかな。
467デフォルトの名無しさん:2011/01/21(金) 15:25:33
addにはHTML渡せるね。

a = a.add('<DIV>3</DIV>')
468デフォルトの名無しさん:2011/01/22(土) 21:39:17
>>446
常にvar使ってれば、そもそも悩む事もねえだろ。
469デフォルトの名無しさん:2011/01/24(月) 09:14:19
varを使わないメリットってある?
470デフォルトの名無しさん:2011/01/24(月) 18:49:11
>>469
メリットは無いだろ。
デメリットはあるけど。
471デフォルトの名無しさん:2011/01/24(月) 18:57:35
>>469
変数が自由に使える点
472デフォルトの名無しさん:2011/01/24(月) 22:39:07
助けてください。
http://solidstate.jp/ContentsDisplay/floatingBox/script_74.html
に書いてあるファイルをダウンロードし、そのままコピペしたページを作ったのですが
(もちろん読み込みファイルのディレクトリとかは自分の環境に合わせてます)
全く動きません。
上記サイトでは問題なく動くのですが、コピペした自分のサーバでは、全く動かないのです。
FireFoxのエラーコンソールには、
「属性セレクタ中に不正なトークン'!'が含まれています」
ってメッセージが出るだけで.......

助けて。エスパー
473デフォルトの名無しさん:2011/01/24(月) 23:00:42
>>472
せめてどのファイルを読み込んだかとHTMLを書いた方が答えやすいからそうした方がいい

とりあえずjquery1.3.2なら動くけど1.4系は動かないね。どこが問題かまでは見てないけど。
474デフォルトの名無しさん:2011/01/25(火) 09:06:41
>>470-471
dキュー
グローバルが特に必要無ければ、グローバルは
まったく使わなくてもいいんだよね?

全変数・全オブジェクトはvarで宣言するってことで
475デフォルトの名無しさん:2011/01/25(火) 11:33:25
>>474
(function(){
var hoge=fuga;
var hage=hige;
...
})();

と必ず書く人もいるね
476デフォルトの名無しさん:2011/01/26(水) 03:41:17
appendで追加する要素をfadeInで表示したいんですが、
これよりスマートな書き方はありますか?

$('#items').append('hogehogehoge').css('display', 'none').fadeIn();

追加→非表示→フェードインの3アクションあるのが無駄な気がするんですが
これを一括に行うメソッドとかないですかね
477デフォルトの名無しさん:2011/01/26(水) 08:47:29
ラップする関数作ればいいんでね?
478デフォルトの名無しさん:2011/01/26(水) 13:38:43
appendする要素をCSSファイルのほうでdisplay:noneにしとく
479デフォルトの名無しさん:2011/01/26(水) 15:56:39
自分でやる時は>>478が言ってるみたいにnoneクラス作っちゃうな
.none {
 display:none;
}
で#itemsにnoneのクラス付けとく

ただ、普通appendする時って#items内に既に別の要素がある場合がほとんどだから
自分の場合は#itemsには.noneを付けずに
$('<span/>')
.text('hogehogehoge')
.addClass('none')
.appendTo('#items')
.fadeIn();
みたいにやるな。で、それを>>477の言うとおりラップ関数にする
480479:2011/01/26(水) 15:59:36
あ、noneクラス外し忘れた。
.fadeIn(function(){
 $(this).removeClass('none');
});
あとはnoneクラス用意せずにhide()使うとかかな
481デフォルトの名無しさん:2011/01/26(水) 21:30:03
>>480
CSSであらかじめ定義しておくのは呪文が増えるだけでメリット無いと思う
やらない方がいいよ
482デフォルトの名無しさん:2011/01/28(金) 01:40:15
>>476
cssメソッドはあまり使わないほうがいいよ。
理由は、見た目を制御するのは、cssファイルでやるものだから。
483デフォルトの名無しさん:2011/01/28(金) 01:47:34
じゃあhideとかshowとか使えんな
484デフォルトの名無しさん:2011/01/28(金) 03:53:26
removeが簡単に関数一発で元に戻せるようになれば
そういう方向性もありかもねえ
485デフォルトの名無しさん:2011/01/28(金) 12:08:52
>>482
プラグイン化したものを他で使おうとするとCSSまで修正しなくてはいけなくなるから修正箇所増える
他人が見てもなんで予想外の動作するのかわかりにくい
ライブラリの外で定義しとかないといけないグローバル変数を使うよりたち悪い
486デフォルトの名無しさん:2011/01/28(金) 14:13:01
どっちも一長一短だろーに。
487デフォルトの名無しさん:2011/01/28(金) 21:52:54
>>483
hideやshowはオブジェクトがそこにある、
ないという見た目だけの問題じゃないから
例外だよ。

少しは柔軟に考えような。
488デフォルトの名無しさん:2011/01/29(土) 22:09:22
$.ajax で success に処理がいくために必要な条件をご存じの方、いらっしゃいませんか?
サーバーサイドから適切な値が返ってきてるのに success 後の処理に入ってくれなくて困っています。
ちなみに error にもいきません。
489デフォルトの名無しさん:2011/01/29(土) 22:41:11
コードの単純なミスな気がする

こんな感じで動くとは思うが

function fncAjax() {

$.ajax(
{
dataType: "JSONP",
data: {
},
cache: false,
type: "POST",
url: "cgi-bin/test.cgi",
beforeSend: function(){
},
success: function (datareturn) {
//成功処理
},
error: function (datareturn) {
//失敗
},
complete: function (datareturn) {
//完了
}
}
);

}
490デフォルトの名無しさん:2011/01/30(日) 05:51:28
>サーバーサイドから適切な値が返ってきてるのに

それ思い込みだから
491デフォルトの名無しさん:2011/01/30(日) 15:37:55
>>473
ありがとうございました。1.3.2で無事動かせることが出来ました。
ただ、もう一つ問題がありまして。質問させていただきます。
実はこのボックスを、ajaxで後から読み込んで使いたいのですが、意図した動きをしてくれません。
最初から表示している分には問題なくリサイズやドラッグが出来るのですが、
後から読み込んだ物は、全く動作しない状況です。

どのようにしたらよろしいでしょうか?
492デフォルトの名無しさん:2011/01/30(日) 15:53:06
$('input#btnNew').live('click', function() {
alert('新しく作ったボタンのイベントはliveを使用');
});
493デフォルトの名無しさん:2011/01/30(日) 17:09:23
JSのモーダルダイアログは、もう使わないほうがいい?
494デフォルトの名無しさん:2011/01/30(日) 17:44:36
なんで?
495デフォルトの名無しさん:2011/01/30(日) 17:59:18
>>492
clickの部分をドラッグドロップの場合、どのように設定したら良いのでしょうか?
それとも491への回答ではないとか??
496デフォルトの名無しさん:2011/01/30(日) 20:01:38
>>495
元の質問を読んでいなかった

で、色々試したのだけれど

$("body").append('<div id="divtest" class="jqDnR">');
$("#divtest").append('<div id="divtesttest" class="jqResize">');
$('#divtest').jqResize('.jqResize');

こんな感じでいけた
497デフォルトの名無しさん:2011/01/30(日) 21:58:51
<a href="/news/">
<a href="/access/">
というナビゲーションで

$("a[href^='/']").each(function() {

var obj = $(this);
var link = obj.attr('href');
var file = "index.html";

obj.attr( 'href', link + file );
}

attr()をディレクトリによってindex.phpとindex.htmlに振り分けたいんですけど

/news/のときindex.php
/access/のときindex.html

どうすればよいでしょう?

$("a[href*='news']")..... みたいなことを考えたんです挫折しました
498デフォルトの名無しさん:2011/01/30(日) 23:11:15
IF文とか使うんじゃダメ?

たくさんディレクトリーがあるんなら連想配列を用意して
ディレクトリ名をキー、ファイル名を値にするとか?

jQueryにこだわる事もないと思う
(上手い方法があるのかもしれないけど)
499デフォルトの名無しさん:2011/01/30(日) 23:59:48
配列にするかmod_rewriteかな
500デフォルトの名無しさん:2011/01/31(月) 00:04:43
そうですね配列ですよね
みなさまどうもありがとうございます!
501デフォルトの名無しさん:2011/01/31(月) 02:59:34
>>488
firebugのコンソールで見ればいいじゃん
正しいレスポンスが返ってきているかどうかそれみりゃ分かる
大抵は正しいJsonをサーバ側が返しておらずjQueryがパースできない
とかそんな理由で動作してない

Jsonチェック
http://www.jsonlint.com/
502デフォルトの名無しさん:2011/01/31(月) 10:28:27
お前らjQueryの前にJavaScriptの勉強しろよ。
503デフォルトの名無しさん:2011/01/31(月) 20:47:52
>>496
ありがとう。
ばっちりでした。
504デフォルトの名無しさん:2011/02/02(水) 15:09:54
checkboxをマウスでをクリックした場合はchangeイベントが呼ばれるのに、
jQueryから設定した場合はchangeが呼ばれないので、
しかたなく次のようにしているんですが、何か間違っているでしょうか?
cb.attr("checked", "checked").change();
505デフォルトの名無しさん:2011/02/02(水) 17:12:02
cb.bind("click", function(){
  alert("チェクボクスのクリッコ:"+cb.attr("checked"));
};);

ではどう?試してないけど。
506デフォルトの名無しさん:2011/02/02(水) 18:46:54
jqueryってブラウザ間の差異を吸収してくれるんですよね
ひとつのブラウザでテストすれば
jqueryがサポートしている他のブラウザどれでも同じように動くと思って問題ないですか?
507デフォルトの名無しさん:2011/02/02(水) 19:33:14
>>506
そうは言ってもIEの糞さは想定を上回る
FirefoxとChromeだとスムースなアニメーションが
IEのだとカックカクな時があるので
念のため確認しておいたほうがいい
508デフォルトの名無しさん:2011/02/02(水) 20:08:22
>>507
どうもありがとうございます
そうします
509デフォルトの名無しさん:2011/02/02(水) 20:41:18
>>508
IE6の糞さってのはCSSを仕様通りに解釈してくれない部分にある。
jQueryの役目はDOM要素の操作までだから、操作後のHTML+CSSをIE6が
とんでもない解釈しても、jQuery側はそれを修正することはできない。
IE6は人類のために早く滅亡すべき。IEが唯一役に立つシーンは
FirefoxやChromeをダウンロードするその時だけ。
510デフォルトの名無しさん:2011/02/02(水) 21:02:59
IE6を使ってる情弱は20%もいる
そして情弱は疑いもなくアドセンスをクリックしてくれる上得意客
切り捨てられない事情があるんだ
こうしてガラパゴス・ジャパン・スタンダードが作られていく
嘆かわしい
511デフォルトの名無しさん:2011/02/02(水) 23:07:51
IE6をあまり悪く言うなや。
10年前のブラウザだぞ。
当時の他のブラウザはIE6よりもはるかに劣っていただろ。
むしろ今でも使えることに驚けよ。
512デフォルトの名無しさん:2011/02/02(水) 23:59:57
入力フォームの工夫ってどういうのやってますか?
513デフォルトの名無しさん:2011/02/03(木) 08:10:50
>>509
同意だが
Windows2000だとIE6からもうそれ以上バージョンアップ出来ないんだよね
514デフォルトの名無しさん:2011/02/03(木) 12:16:50
IE6のすばらしさは縦スクロールバーがデフォで左右にカクカクしないことに尽きる
515デフォルトの名無しさん:2011/02/03(木) 12:17:38
>>513
>Windows2000

正式サポートが去年オワタから白嶺
516デフォルトの名無しさん:2011/02/03(木) 13:34:58
>>515
MSが一方的にもうしらねと投げ出しただけで
利用者はまだまだ数多くいらっしゃる訳だ
517デフォルトの名無しさん:2011/02/03(木) 13:51:15
そういう人らはJavaScriptオフで使ってもらえばいい
518デフォルトの名無しさん:2011/02/03(木) 19:29:03
質問です。
ajax関数を使うときに、
successキーに設定したコールバック関数内で、
ajax関数が始まる前に設定した変数を使いたい場合はどうすればいいのでしょう?
グローバル変数にしておく方法が一般的ですか?

var name = 'hoge';
name2 = 'global';

$.ajax({
  type: 'GET',
  url: './ajax.php',
  data: 'data=' + $(this).text(),
  success: function(res) {
    alert(name);
    alert(name2);
  }
});
519デフォルトの名無しさん:2011/02/04(金) 03:16:36
(function(){
var name = 'hoge';
var name2 = 'global';

$.ajax({
  type: 'GET',
  url: './ajax.php',
  data: 'data=' + $(this).text(),
  success: function(res) {
    alert(name);
    alert(name2);
  }
});
})();
520デフォルトの名無しさん:2011/02/04(金) 22:35:28
jQuery を使用して、以下のことをしたいのですが、どうしても出来ません。

<ul>要素内のアイテム(複数あります)を
別の外側の要素<div>にドラッグアンドドロップで移動させます。

draggable・droppableを使用してます
<--ここまではできるのですが-->

ドラッグアンドドロップで移動させた要素を、<div>内で並べ替えをさせたいのです。
sortableを使用しても、並べ替えが出来ません。 

解決方法を知っている方は、ご教授お願いいたします。



521デフォルトの名無しさん:2011/02/04(金) 23:19:28
ya da.
522デフォルトの名無しさん:2011/02/04(金) 23:33:32
馬鹿には無理
523デフォルトの名無しさん:2011/02/05(土) 00:37:44
>>520
ヒント>>492
524デフォルトの名無しさん:2011/02/05(土) 13:38:46
>>514
そこだけは同意
525プログラム初心者:2011/02/11(金) 14:35:27
お願いします。

ajaxで以下のコードを読み込むと
テストのインナーHTMLがalertで表示されません。
$(function(){});はwindow onloadですので、
ajaxで以下のhtmlを取得し、どこか出力したいの要素にアペンドすると
<div id="test">が読み込まれる前に実行されてしまうようなので、
良い対応策をご教示ください。


<script type="text/javascript">
<!--
$(function(){
alert($('#test').html());
});
-->
</script>

<div id="test">テストのインナーHTML</div>
526デフォルトの名無しさん:2011/02/11(金) 20:28:23
>>525

<div id="test">テストのインナーHTML</div>

<script type="text/javascript">
<!--
$(function(){
alert($('#test').html());
});
-->
</script>
527デフォルトの名無しさん:2011/02/12(土) 06:25:44
<script type="text/javascript">
<!--
$(function(){
settimeout(alert($('#test').html()), 100);
});
-->
</script>

<div id="test">テストのインナーHTML</div>
528デフォルトの名無しさん:2011/02/12(土) 23:42:43
これでKIOSK端末つくった事例は無いですか。
あったら見たい。
529デフォルトの名無しさん:2011/02/20(日) 22:14:27.53
細い回線でjqueryを使いたいのだけど、
ページごとに埋め込むと表示に時間がかかってしまう。
それを回避させるために、隠しフレーム配置してすべてのページから、
参照して使うというやり方はできますか?
530デフォルトの名無しさん:2011/02/20(日) 22:41:03.34
>>529
ページごとに埋め込む?
データソースで指定するって意味だよね?
まさか、本当に埋め込まないよね?
531デフォルトの名無しさん:2011/02/21(月) 01:22:27.19
>>529
細い回線の定義をだな・・・
最新版の軽いほうは29KBだそうだがそれでも重いか?w
532デフォルトの名無しさん:2011/02/21(月) 15:05:20.86
>>529
google CDNからひっぱれ
533デフォルトの名無しさん:2011/02/21(月) 22:58:12.49
隠しフレーム

ウケるw
534デフォルトの名無しさん:2011/02/22(火) 12:30:33.31
隠しフレーム

懐かしい...
535デフォルトの名無しさん:2011/02/23(水) 15:15:51.74
HEADタグ内にSTYLEタグを生成し、その内容を.queueを使って書き換えることによって、
同じCSSクラスの要素を一気にフェードアウトさせたり、フェードインさせたりすることができますよね?
(FireFox、Chrome、Operaで動くことは確認)

これ便利だと思うのに、標準関数はないわ、そういうことをやっている例もみたことないわで、何か問題があるんだろうか、と思っています。
何か問題ありますか?
536535:2011/02/23(水) 15:25:06.92
追記。
$('.foo').fadeIn(...) みたいなコードで同じことができるのは分かっています。
ただ、これだとすべての要素を個別に書き換えることになるので、負荷の点などからSTYLEタグを使いたいわけです。
537デフォルトの名無しさん:2011/02/23(水) 19:44:22.47
class使ってならjQueryUIのaddClass、removeClassの拡張があるよ
538デフォルトの名無しさん:2011/02/23(水) 21:44:22.84
jqueryを使ったすべてajaxで動作するサンプルオープンソースを教えてけろ!
データの登録や削除もひと通りできてるようなのお願い!
59歳独身
539デフォルトの名無しさん:2011/02/24(木) 05:42:50.27
ないので今作ってるとこ
あなたが生きてる間には完成しないかも知れない
540デフォルトの名無しさん:2011/02/24(木) 19:36:50.52
リストをクリックして1枚の画像の指定の位置にスライドさせるものを作ろうとしているんですが
marginで指定するのが主流というか、多くとられてる手法なんでしょうか?

あとmarginってcssのようにmargin:x x x x;で複数指定できないんでしょうか
.animate({margin:"x x x x"});のように記述しても読み込んでくれんです。。
541デフォルトの名無しさん:2011/02/25(金) 00:20:00.54
1.5ってはやい?
542デフォルトの名無しさん:2011/02/25(金) 00:31:23.47
使ってないけど、そんなに変わるわけねーだろって思ってる。

jQueryに限らず○倍速くなりましたとかいうのは
一部の処理だけ見れば○倍速くなったかもしれんが、
その部分は全体のごく一部だから、殆ど変わらないという
結果になるのことが多い。
543デフォルトの名無しさん:2011/02/25(金) 00:53:29.29
>>540
英語読めないにしてもsampleあるんだからドキュメント見たらいいのに。
そこに指定できるのはleftとかだよ
http://api.jquery.com/animate/
> Shorthand CSS properties (e.g. margin, background, border) are not supported.
なのでmarginTopとかmarginLeftとか指定しなさい
544デフォルトの名無しさん:2011/02/25(金) 18:52:38.95
>>543
thx
公式ってデモも載っててすごいわかりやすいんだね
1度も見たことなかった
545デフォルトの名無しさん:2011/02/28(月) 02:48:31.61
>>544は可愛すぎると思うんだ
546デフォルトの名無しさん:2011/03/05(土) 20:28:17.13
質問です。
アイコンにロールオーバーして
音を鳴らすのと同時に画像を変えるのって可能ですか?
547546:2011/03/05(土) 20:33:45.41
すいませんケアレスミスでした
自己解決しました。。
548デフォルトの名無しさん:2011/03/05(土) 21:17:16.71
かわいいよかわいいよ
549デフォルトの名無しさん:2011/03/05(土) 22:03:58.22
>>435
亀だし、理由考えたら当たり前なんだけど
この発想がぱっとできなくて行き詰ったことがあるなぁw
550デフォルトの名無しさん:2011/03/06(日) 16:07:32.32
複数の(大量の)トグルスイッチがあって、idをふらずに個別操作したいのですが
方法はありますか?

<div class="tgl">
<button>more</button><div class="more">text 1</div>
</div>
<div class="tgl">
<button>more</button><div class="more">text 2</div>
</div>


function($){

$("button",".toggle").click(function() {

$(".more",".toggle").slideToggle("slow",function(){

if ($(this).is(":hidden")) {
alert("bye");

} else {
alert("hello");
}
});
})
});
551デフォルトの名無しさん:2011/03/06(日) 16:08:16.56
>>550
>class="tgl"

class="toggle"

です
すみません
552デフォルトの名無しさん:2011/03/06(日) 16:25:34.20
このスレってWeb制作板向けですよね
何でここにあるんですか
553デフォルトの名無しさん:2011/03/07(月) 00:19:56.46
その両者の区別が消えつつあるのは確かかと…
node.jsなんてどっちで扱うべきかマジで迷うよね
554デフォルトの名無しさん:2011/03/07(月) 00:24:18.90
node.jsはWebProgにあってもおかしくないがWeb制作はないだろ
Web制作って基本フロントに関する話じゃないの
555デフォルトの名無しさん:2011/03/08(火) 15:43:10.43
質問させてください。

faceboxというプラグインがありまして、
<a href="/entries/new" rel="facebox">test</a>
のようにして、「テスト」テキストリンクをクリックすると、
/entries/new に アクセスしてレスポンスとしてフォームのhtmlを受け取り、
ポップアップでフォームがはめこまれたダイアログを表示してくれるという便利なものなのですが、
どこかで rel属性をそういった用途に使うのは非推奨になったと聞きました。

フォームのhtmlをdisplay:none;とかにしてクライアントに保持しておかなくて済むので
重宝していたのですが、上記に変わる便利なやり方、プラグインはなにかないでしょうか。

ご教示頂けますと幸いです。
556デフォルトの名無しさん:2011/03/08(火) 16:28:51.18
>555
class属性に変えるのじゃだめなん?
557565:2011/03/08(火) 17:38:30.31
すみません、具体的にはどんな感じになりますでしょうか?

あと、
http://chriswanstrath.com/facebox/
こちら見ますと、やっぱりrelを使うやり方が書いてあり、jqueryも1.3系が推奨になっているようです。
https://github.com/defunkt/facebox
こちらを見ますと1.4系にも対応しているにも見えるのですが・・
558デフォルトの名無しさん:2011/03/08(火) 19:33:25.62
いや、faceboxのソースいじって、class="facebox"でできるようにすればいいのでは?ということなんだが
559デフォルトの名無しさん:2011/03/09(水) 07:52:18.56
>>557
良く分からんがパッと見た目156行目に下記を追加で>>558の動作になりそうな気がする?
※defunkt-facebox-cbe32e1/src/facebox.js
if( $(this).hasClass("facebox") ) klass = "facebox";
560デフォルトの名無しさん:2011/03/09(水) 14:51:27.87
>>550

.live() 使えばいけるだろ
561デフォルトの名無しさん:2011/03/13(日) 21:25:36.52
562デフォルトの名無しさん:2011/03/17(木) 04:42:21.37
>>550
$("div.hoge").each(function(index, elem) { $(elem).attr("id", "hoge"+(index+1));});
563デフォルトの名無しさん:2011/03/18(金) 07:59:45.29
お腹すいた
564デフォルトの名無しさん:2011/03/18(金) 09:23:32.68
コンビニ行っても何も無いよね
自宅警備中のニートには辛いわ
565デフォルトの名無しさん:2011/03/19(土) 20:14:43.46
おなかすいたお
566デフォルトの名無しさん:2011/03/21(月) 09:35:57.43
爆発を見た日に買い貯めした食料が底を尽き掛けている
今日は雨なので外に出たくない
567デフォルトの名無しさん:2011/03/21(月) 11:31:27.71
日記はチラシの裏にでも(ry
568デフォルトの名無しさん:2011/03/22(火) 09:08:16.15
牛乳が

牛乳が買えたお
569デフォルトの名無しさん:2011/03/22(火) 22:38:16.53
いつものと違う見慣れない牛乳がやっと手に入った
次はトイレットペーパーだ
570デフォルトの名無しさん:2011/03/24(木) 13:23:56.64
コンビニにゴハンがない
571デフォルトの名無しさん:2011/03/24(木) 18:03:12.35
水も無くなった ><
572デフォルトの名無しさん:2011/03/24(木) 21:22:20.22
iPhone用のサイトなんだけど、thickboxつかってモーダルウィンドウ出すと
オーバーレイで暗くなる部分が寸足らずで、下のほうが明るいまま。
だれか助けて(´;ω;`)
573デフォルトの名無しさん:2011/03/24(木) 22:34:22.72
なんで今頃ちっくぼっくす使ってんだ




















今頃w
574デフォルトの名無しさん:2011/03/26(土) 02:39:38.71
牛乳が買えない
575デフォルトの名無しさん:2011/03/26(土) 09:16:15.53
おい!
セブンに見たことの無い牛乳が!
576デフォルトの名無しさん:2011/03/26(土) 17:45:53.95
ローソンでも見たこと無い牛乳が入荷して来てる
うちの近所だとセブンイレブンの方が圧倒的に物量で勝ってる
577デフォルトの名無しさん:2011/03/26(土) 18:02:20.94
以下のソースで、各リンクをクリックしたときのイベントを登録しようとした場合、例1と例2ではどちらが正しいのでしょうか?
どちらも同じ動きをするのですが、eachを使って要素分まわしながら登録するべきなのか、使わなくてもいいのかわかりません。

<a class="link">テスト</a>
<a class="link">テスト</a>
<a class="link">テスト</a>

例1
$(document).ready(function(){
$('.link').each(function{
$(this).click(function(){
//処理〜
});
});
});

例2
$(document).ready(function(){
$('.link').click(function{
//処理〜
});
});

よろしくお願い致します。
578デフォルトの名無しさん:2011/03/26(土) 18:40:23.83
東京の放射線量って今どのくらいなんだろ
来週出張なんだけどやだなぁ
579デフォルトの名無しさん:2011/03/26(土) 19:19:10.69
>>577
2の方で良い。動的に追加したエレメントにも対応させたきゃliveね。
580デフォルトの名無しさん:2011/03/26(土) 19:51:24.77
581デフォルトの名無しさん:2011/03/26(土) 20:12:14.96
582デフォルトの名無しさん:2011/03/26(土) 20:38:24.57
えびぞーとまおが九州に逃げててワロた
583デフォルトの名無しさん:2011/03/26(土) 23:13:47.16
>>579
ご回答ありがとうございました。
584デフォルトの名無しさん:2011/03/26(土) 23:17:04.06
>>580
またピンポイントでウンコなサイトを紹介してきたね
585デフォルトの名無しさん:2011/03/27(日) 07:36:08.01
>>582
586デフォルトの名無しさん:2011/03/29(火) 07:05:00.18
パンが売ってないお
587デフォルトの名無しさん:2011/03/29(火) 10:31:30.57
パンが無ければケーキを食え
588デフォルトの名無しさん:2011/03/29(火) 10:42:35.98
小麦粉スレが見つからないよ
どこ?
589デフォルトの名無しさん:2011/03/29(火) 11:51:56.32
attr("abc")
で、ランダムでタグに属性を追加しました。

ページ内で、追加した"abc"を持つタグのみを抽出したいのですが、できますか?
590デフォルトの名無しさん:2011/03/29(火) 11:59:58.71
>>589
> attr("abc")
> で、ランダムでタグに属性を追加しました。

それじゃ、属性追加できないんじゃないかな。属性を追加するためには、.attr( attributeName, value ) でないといけないだろ。
で、追加したものは$('*[name="value"]')で選択できると思う。
591デフォルトの名無しさん:2011/03/29(火) 12:12:57.29
>>590
>attr( attributeName, value ) でないといけないだろ。
そのとおりでした。

alert($(["abc"]));
で表示すると、objectが表示されているので、大丈夫そうでした。
この状態で、"abc"が含まれているオブジェクトのIDを順に取得したいのですが、
これもできるのでしょうか?
592デフォルトの名無しさん:2011/03/29(火) 12:18:27.33
>>591
何をしたいのかいまひとつ分からんが.eachを使えばできるじゃね?
http://semooh.jp/jquery/api/core/each/callback/
593デフォルトの名無しさん:2011/03/29(火) 12:51:18.82
>>592
なにかうまくいきません。下記のようなことがしたいです。
1.画面上の一部のinput,select項目に、属性"abc"を追加しています。値はすべてバラバラです。
2.ボタンを押下すると、画面内のオブジェクトをサーチし、
  属性"abc"をもつ項目のみ抽出したいです。
3.抽出した結果、input,selectで入力した値と、属性"abc"を比較して、
  同じであれば、エラーにしたいです。

で、下記のコードを教えて頂いた内容とともに書いてみました。
$('*["abc"]').each(function()
{
i++;
}
);

alert(i);

私の考えでは、表示される項目が30個("abc"の属性を持つものが30個なので)のはずですが、
iが150とかになります。
おそらく"abc"の属性をもつ項目以外も抽出されてるのではないかと思います。
なにかがおかしいとは思いますが、見当がついてないです。
594デフォルトの名無しさん:2011/03/29(火) 14:51:57.54
なにかがおかしいとは思いますが、見当がつかないので
実際に使ったコードを載せてください
595デフォルトの名無しさん:2011/03/29(火) 15:04:50.61
そうそう。説明がヘタなら本物をさらさないとレスが増えるだけで話がすすまない
596デフォルトの名無しさん:2011/03/30(水) 07:19:58.89
>>593

var $body = $('body');
$body.contents().detach();
var $form = $('<form />').appendTo($body);
for(var i = 0; i < 10; i++){$form.append('<input />')};
var $inputs = $form.children();
$inputs.each(function(i){if(i%3 == 0){$(this).attr('abc', i)}});
var j = 0;
$('input[abc]').each(function(){j++});
alert(j);

http://jquery.com/ を開いて、Google Chromeのコンソールにこのコードを入力すると、「4」と表示される。
597デフォルトの名無しさん:2011/04/03(日) 19:51:49.76
domをzen codingのような形式で全部吐き出せるようなプラグインって無いかな
文章も込みで
598デフォルトの名無しさん:2011/04/06(水) 19:42:23.67
<select>のプルダウンメニューで、選ばれた時に、特定の要素をトグルにしたいのですが、
selectもchangeもclickも、うまくいきませんでした。

プルダウンメニューの特定の項目が選択されたら、それに対応する要素にtoggleClassさせる方法はありますか?
599デフォルトの名無しさん:2011/04/06(水) 20:18:32.73
自己解決しました
600デフォルトの名無しさん:2011/04/07(木) 04:48:57.22
質問投げといて解決したって言うのに結果もロクに示さない自己マンは公共の場所へ来るなよ
601デフォルトの名無しさん:2011/04/07(木) 08:17:13.43
JQuery mobileで
リンク先をexternalにすると
transitionが使えなくなるんですけど
何かいい解決方法を知っている
人いないでしょうか
602デフォルトの名無しさん:2011/04/08(金) 17:31:40.84
スマートフォンサイトでjcarouselliteを使っているのですが
スマホで更新を行うとDiv内の要素が無視されて下のdiv要素が
上からかぶってしまいます。
リンクタグを押して再度画面を表示すると、きちんと表示されます。
Androidのブラウザのバグだと思いますが、例外的でもいいので
対処法は御座いますでしょうか?

<script type="text/javascript" src="./jquery-1.3.2.min.js"></script>
<script type="text/javascript" src="./jcarousellite_1.0.1.min.js"></script>
603デフォルトの名無しさん:2011/04/08(金) 18:27:34.25
>>602

自己解決しました。
画像の高さ指定を行っていなかった為、jcarouselliteが高さを認識
できずにつぶれていました。
604デフォルトの名無しさん:2011/04/14(木) 11:49:40.30
toggle() や slideToggle() で折りたたみを開く際に大きくサイズオーバーしてしまいます。
隠す要素にリストなどのブロックを float で横並びにさせたものがあると起こるようなのですが、
回避策はないでしょうか?
よろしくお願いします。
605デフォルトの名無しさん:2011/04/14(木) 12:29:09.99
どえらいおおざっぱな質問だな
ソースを見てどの要素が崩れるか見てみないと答えようがない
606Perl忍者lvl4 ◆M5ZWRnXOj6 :2011/04/15(金) 22:57:59.75
getJSONで取得したjsonを配列にいれて使いたいんだけどどうやればいいの?

[ 'hage.jpg','baka.jpg','aho.png']
っていうjsonファイルあったらさ

getJSONで読み込んで配列にいれて

hage.jp,baka.jpg,aho.jpgの3個 配列MAXまで繰り替えして
html生成したいんだけど
<a href="hage.jpg">hage.jpg</a>
<a href="baka.jpg">baka.jpg</a>
<a href="aho.jp">aho.jpg</a>

やりかたおしえてください!!!!!!
607Perl忍者lvl4 ◆M5ZWRnXOj6 :2011/04/15(金) 22:59:45.58
ああああ・・・できそうです
608デフォルトの名無しさん:2011/04/19(火) 15:04:11.39
1つのページで複数の jQuery UI ダイアログを使う場合の定義の仕方がわかりません。
ダイアログが1つの場合は、
<script type="text/javascript">
<!--
jQuery(function($){
$('#button1').button();
});
$(function(){
$("#dialog1").dialog({
//autoOpen:false等ダイアログプロパティの定義
buttons: {
//ボタンの定義
});
$("#button1").button().click(function(){
$("#dialog1").dialog("open");
});
});
-->
</script>
で、画面表示時はdialog1は非表示になっており、button1がクリックされるまでは
表示されないという動作ができています。
ここに新たな、同じようなダイアログとボタンの組み合わせを設けたい場合、
どのように定義すればよいでしょうか?
609608:2011/04/19(火) 15:15:11.27
補足です。>>608で書いたダイアログとボタンの組み合わせを同様な書き方で
2つ(dialog1、button1、dialog2、button2として)定義してみましたが、
それでは上手く動作しませんでした。
動作環境は、Firefox3.6.16とjquery-ui-1.8.7.custom.min.jsを利用しています。
610デフォルトの名無しさん:2011/04/19(火) 16:02:44.46
dialog1とかそれぞれの意味は理解してるの・・・?
611デフォルトの名無しさん:2011/04/19(火) 19:29:25.03
111 :Perl忍者 ◆M5ZWRnXOj6 :2010/12/14(火) 17:37:22 ID:rQueV4DL
javascriptをやってるやつは低能なんだろ
ゴミ頭がごみめら
マジ可哀想なんていうかかすそのもの
javascriptwwwwwwwwwwwwwww
ウェブサイト?wwwwwwwwwwwwww
わらわせんじゃねえよごみめら
http://www2.atpages.jp/mirror/2ch/javascript/read.php/1291963517/

Perl忍者だけどさあークズプログラマども
http://hibari.2ch.net/test/read.cgi/php/1294279229/
IT業界潰れろby、Perl忍者
http://unkar.org/r/job/1283551955
612デフォルトの名無しさん:2011/04/19(火) 19:32:54.67
そんなもの貼らんで良い
613デフォルトの名無しさん:2011/04/20(水) 22:51:02.90
<div>
<form
テキストフィールド、ボタンなど
/form>
</div>

ボタンを押すと↑のようなフォームがslideDown、slideUpで表示させたり消したり
させる物と作ってます。
slideDownの時はいいんですがslideUpの時に
徐々にフォームが消えていって消える直前にフォーム全体が一瞬表示されて
その後完全に消える状態になってしまっています。
フォームのmarginを無くしたり<P>で包んで見たりと色々と試してみたのですが解決できません
何かわかる方お願いします。
614デフォルトの名無しさん:2011/04/20(水) 23:19:43.45
>>613
ブラウザとバージョンは?
あと実際のコード
615デフォルトの名無しさん:2011/04/21(木) 08:12:21.27
>>614
遅くなり申し訳ない
IE8です。っていうかIE以外CSSがまったく読み込まれてなかったなんでだろ?
まぁその辺は自分で解決します

実際のコードは
$(function(){
$("#info div").css("display",'none');
$(".s_btn").click(function(){
if($($(this).attr('href')).css('display')=='none'){
$("#info div:not($(this).attr('href'))").slideUp('slow');
$($(this).attr('href')).slideDown();
}else{
$($(this).attr('href')).slideUp();
}
})
})

実際にはslideさせるフォームはいくつかあり
それぞれのフォームに対応したボタン(クラス属性をs_btnとしています)があります。
s_btnのhref属性を#****としていて
その#****に対応したフォームをslideさせています。
わかりにくい説明で申し訳ありませんがお願いします。
616613:2011/04/21(木) 08:43:31.64
>>614
jqueryのヴァージョンは1.5.2です。
よろしくお願いします。
617デフォルトの名無しさん:2011/04/21(木) 08:51:19.58
以下のような場合、imgタグbrタグの閉じタグ手間にスラッシュが入らないのですが入れるにはどうすればいいですか?

$("<li />").addClass("lists")
.append($("<img />").attr("src", group$thumb[0].url)).append("<br />")
.append(item.title.$t).append("<br />")

実行する
<img src="xxx"><br>

こうしたい
<img src="xxx" /><br />
618613:2011/04/21(木) 09:21:20.71
すいません
自己解決しました。
ドキュメント宣言してなかったのが原因みたいです
時間を割いてくださったかたありがとうございました。
619デフォルトの名無しさん:2011/04/21(木) 21:37:02.19
>>615
なんかよくわからんコード書いてんなw
もうちょっと整理してみ
あとhrefのidはformタグにふってんの?
不具合が再現できるhtmlのソースも張ってよ
620デフォルトの名無しさん:2011/04/25(月) 11:34:50.53
ポップアップウィンドウですが、下のwindow.openを
GreyBoxやlightboxを使った時のように表示したいと思います。
これを使え!や、こうすればよいの様なポインタをお願いします。

$('#i').change(function(){
window.open($(this).val(),'','width=150');
return false;
});
621デフォルトの名無しさん:2011/04/25(月) 12:02:29.43
>>620
えーと… lightbox的なオーバーレイで、DIVなどのHTML要素か、IFRAMEを表示したい、ということでよいかな。
例えば、http://jquery.com/demo/thickbox/ の Examples の iFramed Content の Demo みたいなことをしたいと?

そういうことができるjQueryプラグインはいくつもあるようなので、どれをお勧めしたものか…
「jQuery lightbox」か「jQuery overlay」で検索すれば、いろいろ出てくるよ。
622621:2011/04/25(月) 12:12:08.19
あ、Thickboxは「メンテナンスされていないから別のをつかえ」って書いてあるね。
まぁ、いろいろあるから、どれを使うかはググって自分で判断してくれ。
623デフォルトの名無しさん:2011/05/02(月) 00:20:38.40
ie9だとフェードできない時あるね
624デフォルトの名無しさん:2011/05/05(木) 14:56:03.60
質問です
loadメソッドで別ファイルを読み込むのには成功したんですが、
別ファイルにjavascriptでウィジェットのようなものをふくんでいる場合にうまくウィジェットが表示されません
やはり非同期ポストバックじゃだめなのでしょうか?
例えばこういうウィジェットです
ttp://www.oricon.co.jp/blog/tagform/
625デフォルトの名無しさん:2011/05/06(金) 03:54:16.92
>>624
中見てないから分からんけど多分 document.write使ってんだろ
iframeの中に読み込んでやるかDOM構築終わる前にロードするかdocument.writeをオーバーライドするかってとこか
626デフォルトの名無しさん:2011/05/09(月) 17:23:14.76
質問です
window.parent.document.getElementById('hoge');
↑をjQueryで表現して$('#hoge').hide();みたいにするにはどうすればいいのでしょうか?
627デフォルトの名無しさん:2011/05/09(月) 17:25:49.65
1.6の更新内容をまとめて
628デフォルトの名無しさん:2011/05/13(金) 12:35:03.43
$(this)とthisの違いがわかりません。

例えば、要素のインデックスを取得するindex()というメソッドですが
使い方は以下のように紹介されていることが多いですが、

$('.list').index(this);

上記サンプルの this を $(this) と置き換えても動くのですが、$(this)と指定するのは間違いでしょうか?
thisと$(this)ではどのような違いがあるのでしょうか?

よろしくお願い致します。
629デフォルトの名無しさん:2011/05/13(金) 14:45:16.53
>>628
$(this)ってやると、jQueryの面白機能がついたオブジェクトに返信する
thisのままだと面白くない
630デフォルトの名無しさん:2011/05/13(金) 14:53:20.23
>>629
ありがとうございます
thisオブジェクトを拡張してるということでしょうか?
ラッピングすることで新たなメンバーメソッドやメンバー変数などが追加されたみたいな
631デフォルトの名無しさん:2011/05/13(金) 15:56:58.66
拡張してるというか変換してる
thisはJavaScriptのthis、DOMのthis
$(this)はjQueryオブジェクト
632デフォルトの名無しさん:2011/05/13(金) 16:08:15.34
thisが本郷猛なら$()がライダーベルトだな
633デフォルトの名無しさん:2011/05/13(金) 21:55:39.07
>>631
横からだけどそうだったのか
ただわかりやすいからってだけだと思ってた
あとthisってjQueryオブジェクトじゃなかったんだね
634デフォルトの名無しさん:2011/05/14(土) 13:21:33.39
jQueryってこれフレームワーックって言うより、違う言語じゃね?
635デフォルトの名無しさん:2011/05/14(土) 13:36:02.14
>>634
いやもろにjavascriptだろ
違う言語にはなってない
636sage:2011/05/14(土) 17:32:27.74
jQuery1.6はやい。
637デフォルトの名無しさん:2011/05/15(日) 03:25:25.77
jquery.1.4.2から1.5,1.6に変えると、3倍ぐらい遅くなった。

HTMLの書き換え処理なんだけど、遅くなった?
638デフォルトの名無しさん:2011/05/15(日) 11:25:55.08
>>637
うん、だいぶ高速化されたよ
639sage:2011/05/15(日) 13:24:06.56
高速化されましたよね。。
なぜ、遅くいのでしょう。pluginとバージョンの相性があるんですかね。
640デフォルトの名無しさん:2011/05/15(日) 13:30:11.85
>>639
プラグ印使ってんの佳代
名に使ってんの蚊教えれ
641sage:2011/05/15(日) 13:35:38.09
flexgridです。
http://flexigrid.info/
642デフォルトの名無しさん:2011/05/15(日) 13:59:50.77
>>641
おいおい最新版使えよ
643デフォルトの名無しさん:2011/05/15(日) 14:00:43.71
プラグインのコード読んでみたらいいじゃない
644デフォルトの名無しさん:2011/05/16(月) 22:05:37.44
jqueryを学びはじめたばかりなのですが
$("div").find("span")と
$("div span")って
同じですか?どっちがいいんですか?
ほかにも同じようなことをいろんな書き方でできるような感じですが
とりあえず思い通りに動けばあんまり気にしなくてもいいんですか?
645デフォルトの名無しさん:2011/05/16(月) 22:09:08.87
>>644
ちょっぴりだけ$("div span")の方が速い。

が! 10000回くらいループ計測して自分で速度を測るといいと思う。
646644:2011/05/16(月) 22:18:12.92
>>645
どうもありがとうございますm(_ _)m
647デフォルトの名無しさん:2011/05/16(月) 23:43:44.97
>>644
find()の使いどころは、たとえばhogeに何が入るか不定の時は、
hoge.find("span").~~~~
と書けるので便利

あるいは、
$("div").show().find("span").~~~
とずらずら書いたりとか
648デフォルトの名無しさん:2011/05/17(火) 00:42:38.86
こうして何も知らない純粋な若者が騙されて餌食になるんだな
649デフォルトの名無しさん:2011/05/17(火) 02:31:07.57
ちょっぴりだけ$("div > span")の方が速い。
650デフォルトの名無しさん:2011/05/17(火) 08:52:20.94
その結果はdiv spanとは同じではないから当たり前だろ・・・

651デフォルトの名無しさん:2011/05/17(火) 12:54:10.75
>>647>>649
どや顔でレスしてると思うとwwww
652デフォルトの名無しさん:2011/05/17(火) 14:01:05.96
>>647の指摘ほ的確だと思うけどな
653デフォルトの名無しさん:2011/05/17(火) 15:40:24.16
>>651
おまえかわいそう。
654デフォルトの名無しさん:2011/05/18(水) 22:32:16.92
テキストノードをjQuery要素のまま値を取得したり設定したりするにはどう書けばいいですか?
↓うまくいきません
var str = $('#hoge').contents().not('[nodeType=1]').eq(0).text();
$('#hoge').contents().not('[nodeType=1]').eq(0).text('hoge');

↓jQuery要素からDOMに変換(?)するとnodeValueで取得したり設定したりできたんですが
var str = $('#hoge').contents().not('[nodeType=1]').get(0).nodeValue; //取得
$('#hoge').contents().not('[nodeType=1]').get(0).nodeValue = 'hoge'; //設定
655デフォルトの名無しさん:2011/05/19(木) 05:58:41.74
var str = $('#hoge').text();
$('#hoge').text('hoge');

何がやりたいのかよくわからないけど、これじゃダメなの?
656654:2011/05/19(木) 06:55:41.63
ああ、すみません、HTML側はたとえばこんな感じです
<div id="hoge">
aaaa
<p>bbbb</p>
cccc
</div>
657654:2011/05/20(金) 07:52:12.02
やっぱりjQueryのままじゃ無理ですか?DOMにしてnodeValueで取得設定するしかないですか
658デフォルトの名無しさん:2011/05/20(金) 10:57:26.50
bbbbの部分を取得したり書き換えたいってこと?
659デフォルトの名無しさん:2011/05/21(土) 00:04:31.21
クリックしたら、ページを暗くして、画像や文章などを中央に表示して、
関係の無いところを押すと元に戻るみたいなのがありますが、
これのJqueryでのサンプルが載っているページをご存じないでしょうか?
660デフォルトの名無しさん:2011/05/21(土) 10:28:33.86
lightboxでググれ
661デフォルトの名無しさん:2011/05/22(日) 09:24:23.00
質問
なんでこのスレtechにあんの?
662デフォルトの名無しさん:2011/05/22(日) 10:27:40.70
>>661
jQueryというかjavascriptをブラウザでしか使ったことが無いだろお前。
663デフォルトの名無しさん:2011/05/22(日) 21:01:21.70
ブラウザで動かす以外に用途あるの?
664デフォルトの名無しさん:2011/05/22(日) 21:18:06.81
>>663
wsh
デスクトップ ガジェット

でググれ
665デフォルトの名無しさん:2011/05/23(月) 04:12:20.29
JScriptをガシガシ使ってますが?
で、なんでこの板にあるわけ?
666デフォルトの名無しさん:2011/05/23(月) 06:44:05.13
jQuery歴2週間の>>1が単発質問で立てたスレだし、当初から板違いの指摘がある。
もったいないから使ってるだけ。
次スレはWEB制作板でもWebProg板でも移動させたらいい。
667デフォルトの名無しさん:2011/05/23(月) 17:25:59.45
lightboxで中に画像ではなくHTMLを貼りつけられるようなの御存知ありませんか?
668デフォルトの名無しさん:2011/05/23(月) 17:54:11.51
lightbox htmlでググれ
669デフォルトの名無しさん:2011/05/24(火) 23:18:25.74
親画面と小画面でdatepicker(1ヶ月分をカレンダーのように表示)を
それぞれ同時に表示したいんですけど
datepickerの大きさをそれぞれ任意の大きさに変えるにはどうしたらいいですか?
cssで大きさを指定してしまうと、二つとも共通のcssを読み込んでるので
同じ大きさになってしまいます。
二つのdatepickerを自由に大きさを指定するにはどうしたら良いですか?
どなたか教えてください。
670デフォルトの名無しさん:2011/05/24(火) 23:37:53.77
あげます
671デフォルトの名無しさん:2011/05/25(水) 11:32:51.36
>>669
idつければいい
672デフォルトの名無しさん:2011/05/25(水) 20:47:45.81
>>699
やり方はいろいろあると思うけど、
例えば、Datepicker全体をdivとかで囲んでしまって、
そのdivに親と子で違うIDを指定する

// 親
<div id="parent"><!-- ここはDatepicker --></div>

//子
<div id="parent"><!-- ここはDatepicker --></div>

で、スタイルシートのほうで

#parent #datepicker {
 // 親のスタイル
}

#child #datepicker {
 // このスタイル
}

とかすれば、大きさを指定している部分だけの修正で修正範囲も少ないとおもふ
673デフォルトの名無しさん:2011/05/26(木) 19:32:15.44
<textarea id="hoge"></textarea>
--------------------------------------------
$("#hoge").text("hoge\nhoge")

クリックしたらテキストエリアの内容を書き変えたいんだけど、
書き換えたい文字列に改行コードが入ると unterminated string literal というエラーが出てうまくいかないお…

(´;ω;)どうすればいいのー
674デフォルトの名無しさん:2011/05/26(木) 20:47:25.95
html()のほうかなー
試してないけど違ったらごめんね
675デフォルトの名無しさん:2011/05/26(木) 21:19:33.05
>>674
(´;ω;)html()でも試した
Stringに改行コードが入ってるのがあかんらしい
676デフォルトの名無しさん:2011/05/26(木) 22:21:38.06
$("#hoge").html("hoge<br />hoge") ならいくんじゃない?
677デフォルトの名無しさん:2011/05/26(木) 23:40:50.91
1.2.6,1.5.2,1.6で試したがそんなのにはならんなー
ブラウザとjqueryのバージョンは何?あと再現できるコードを頼む
678デフォルトの名無しさん:2011/05/27(金) 00:02:24.53
>>676
理由がわかりました

cgi から print "$(\"#hoge\").text(\"hoge\nhoge\")" で書き出してるわけだけど、
クライアントに返すソースが
$("#hoge").text("hoge
hoge")
になってた…

printする前に改行コードを\nから%0Aにリプレイスしてから、
javascript側のunescapeで改行コードに戻してやったらうまくいった

だがIEは失敗。なぜかラインフィードが半角スペースにデコードされとる
キャリッジリターンした時だけ何故かIEでもちゃんと改行される
IEしね
679デフォルトの名無しさん:2011/05/27(金) 00:06:50.21
>>677
>>678 の通りです><
cgiからprintでjavascriptを書き出してるのが原因でした…
ちなみにjQueryは1.4.4つかってます

それにしてもIEは本当に問題児だ
だいっ嫌いこんな糞重くてバグだらけのブラウザ
680デフォルトの名無しさん:2011/05/27(金) 00:24:31.14
%0Aより\\nとしてやる方がいいんじゃねーの?
681デフォルトの名無しさん:2011/05/27(金) 01:04:32.17
\\n\\rじゃね?
682デフォルトの名無しさん:2011/05/27(金) 01:26:48.08
|ω・`)おおうっ…そっちの方が美しいですね

>>680さんの通りにしたら、火狐、Chrome ではうまくいきましたが、
やはりIEでは改行されずに\nが半角スペースになってしまいました…

>>681さんはWindowsの改行コードですね
IEではうまく行きましたが、今度は火狐、Chrome が\rで改行、\nで改行と
認識してしまって二重改行になっちゃいました…
あれ?Windowsの改行コードって\\r\\nじゃなかった?と思いやり直したら
火狐、Chrome はうまくいって、IEは二行目以降の行の最初に半角スペースが入り失敗…

IE、火狐、Chrome できちんと改行されるのは\\rにした時だけでした
なぜだろうななんか気持ち悪い
IEがおかしいってのだけはわかる
あとは私の環境の問題かしら…
683デフォルトの名無しさん:2011/05/27(金) 01:55:36.89
submitボタンが押されるとjqueryでtextareaを書き換えてからsubmitするようにしたのですが、
.clickで書き換え後val()をalertすると書き換わってるのですが、送信されるのは書き換わっていません。
どうするべきでしょうか?
684デフォルトの名無しさん:2011/05/27(金) 03:10:17.39
textareaからフォーカスが離れたタイミングで書き換えておくか、データをAjaxで送信するか
685デフォルトの名無しさん:2011/05/27(金) 16:32:25.17
|ω・`)>>682について勘違いをしてたので言及
ちゃんと調べてみたら、\\rでも\\nでも\\r\\nでもIEは改行されてなかった…

-------------------------------------------
<textarea id="hoge"></textarea>
-------------------------------------------
原因は$("#hoge").html(String)でStringに入ってるすべての改行コードがIEでは無視されてしまってた(.text()も同じ)
jQueryのhtml()がアカンのかと思い、document.getElementById("hoge").innerHTML(String)
で試したけど、やはりIEが改行コードを無視する

valueを書き変えたらどうかと試してみたら、
$("#hoge").attr("value", String) とすると改行がIEでもちゃんと反映された
他のブラウザもOK。

という事で解決しました
あどヴぁいす下さった皆さんどうも|ω・`ノシ
686デフォルトの名無しさん:2011/05/27(金) 17:05:53.52
$("#hoge").val("foo\nbar\nbaz");
687デフォルトの名無しさん:2011/05/27(金) 17:44:05.35
>>686
|ω・`)あぅ…無知ですた
688654:2011/05/30(月) 08:06:22.13
>>658
>656のaaaaの部分だけ(やccccの部分だけ)をDOMにせずjQueryオブジェクトのまま取得したり書き換えたりしたいってことです
レスが遅れてすみません
689デフォルトの名無しさん:2011/05/30(月) 16:48:44.24
うへ
690デフォルトの名無しさん:2011/05/30(月) 17:01:57.42
>688
そういうときは変更の対象となる部分をspanの中に入れるから普通は困らないんだけど。
元々のHTMLは変更できないんだよね、きっと。
691654:2011/05/30(月) 18:34:48.02
> 元々のHTMLは変更できないんだよね、きっと。
はい
HTMLは変更できません
つまりテキストノードと要素ノードが共存している場合のテキストノードはjQueryオブジェクトのまま取得・設定できないってことですか
692デフォルトの名無しさん:2011/05/31(火) 13:03:23.96
<div id="aaa"><div id="bbb">test</div></div>

というHTMLに対して

$("#aaa").html()

で<div id="bbb">以下の要素のHTMLテキストが取れるけど
$("#aaa")から<div id="aaa">以下のHTMLテキストを直接取得する方法ってある?

親要素を作って$("#aaa")をappendして.html()で取得するって方法はできたけど
できれば直接取得したい。
693デフォルトの名無しさん:2011/05/31(火) 13:24:13.76
>>692
Fx 対応してないけど outerHTML
694デフォルトの名無しさん:2011/05/31(火) 17:58:05.46
>>693
サンクス
jQueryでブラウザ依存吸収してほしいね。
695デフォルトの名無しさん:2011/06/03(金) 01:25:42.62
$("#aaa").wrap("<span id='ccc'></span>");
data = $("#ccc").html();

俺ならこんな感じで取っちゃうなぁ
outerHTML なんて初めて知った
696デフォルトの名無しさん:2011/06/15(水) 20:02:33.06
グーグルクロムでアンカースクロールがきかないんじゃ。
どうすればいい?他のブラウザーで効いてるのになぜ?

ちなみにソース


sbu$(document).ready(function(){
sbu$("a[href^='#']").click(function(){
var target;
target = sbu$( sbu$(this).attr('href') );
if (target.length == 0) {
return;
}
sbu$('html, body').animate({scrollTop: target.offset().top});
return false;
});

});
697デフォルトの名無しさん:2011/06/15(水) 21:00:21.41
コンソールを見てみたら?
ちなみにソースが足りない。
698デフォルトの名無しさん:2011/06/15(水) 21:22:27.98
>>697
返信ありがちょう!

外部ファイルでjsファイルを下記のようにうつしている。
これ以外何も付け加えていない。
----------------------------------------------------------
jQuery.noConflict();
var sbu$ = jQuery;

sbu$(function(){
sbu$("#jquery-test").html("jQuery is loaded");
});

sbu$(document).ready(function(){
sbu$("a[href^='#']").click(function(){
var target;
target = sbu$( sbu$(this).attr('href') );
if (target.length == 0) {
return;
}
sbu$('html, body').animate({scrollTop: target.offset().top});
return false;
});
});
----------------------------------------------------------
699デフォルトの名無しさん:2011/06/15(水) 21:24:05.21
続き

HTMLはindex.phpです。
ボディーの下に下記jQueryの記述をいれている。
----------------------------------------------------------
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.5.1/jquery.min.js"></script>
<script>!window.jQuery && document.write(unescape('%3Cscript src="js/libs/jquery-1.5.1.min.js"%3E%3C/script%3E'))</script>
<script src="js/script.js"></script>
----------------------------------------------------------

アンカータグは下記のなんのへんてつもない記述。
----------------------------------------------------------
<a name="top" id="top"></a>
<a href="#top">ページトップへ</a>
----------------------------------------------------------

ちなみにコンソールとは?素人でごめんよ。
700デフォルトの名無しさん:2011/06/29(水) 18:13:09.68
フレームが10くらいある画面があります。

全部のフレーム内でjqueryを読み込んでいますが、
これを、どれか一つにフレームにjqueyを読み込み、
他フレームから使用できますか?
701デフォルトの名無しさん:2011/06/29(水) 19:18:57.72
どれかのフレームに読み込んで使用出来るか試してごらん
702デフォルトの名無しさん:2011/06/29(水) 22:09:45.37
jqueryMobile+jquery.validateについて教えてくださいエロい人

http://testes.net/userEdit.phpだったらバリデーションが動くんだが
http://testes.net/#userEdit.phpでajaxした場合バリデーションがスルーされるんだが
全部ajaxで動かしたいんだ。回避方法教えてくれろエロい人
703デフォルトの名無しさん:2011/06/29(水) 22:33:52.57
うぇb遺体毛
704デフォルトの名無しさん:2011/06/30(木) 10:12:52.77
>>702
うちでは正常に動作してる。
バージョンの問題だと思うからweb制作板に行きなさい。
705デフォルトの名無しさん:2011/06/30(木) 10:44:17.86
706デフォルトの名無しさん:2011/06/30(木) 16:46:40.18
画面上にボタンが1〜5個あります。
そのボタンのオブジェクトを取得したいのですが、
どの様にすればいいのでしょうか?
707デフォルトの名無しさん:2011/06/30(木) 17:06:50.57
そんなので答えられるわけ無いだろう。
あとマニュアルぐらい読め。
<div id="buttons">
<button>ボタン1</button>
<button>ボタン2</button>
<button>ボタン3</button>
<button>ボタン4</button>
<button>ボタン5</button>
</div>

例えばこんなHTMLだったとすると
$('#buttons > button')
これでいい
要はHTML次第でとり方が変わってくる。
708デフォルトの名無しさん:2011/06/30(木) 21:30:20.19
>>704
因みにバージョンいくつ?
709デフォルトの名無しさん:2011/07/01(金) 08:26:42.75
IE8でnivo-sliderにエラーが出ます。http://nivo.dev7studios.com/


if((!H[G]||(o.nodeName(H,"a")&&G=="click"))&&H["on"+G]&&H["on"+G].apply(H,K)===false)
プロシージャの呼び出し、または引数が不正です。

次になにをしたらいいでしょうか?
710デフォルトの名無しさん:2011/07/01(金) 08:29:29.87
板移動
711デフォルトの名無しさん:2011/07/01(金) 08:39:40.41
そうします! すみませんでした
712デフォルトの名無しさん:2011/07/02(土) 22:01:22.84
スレチ質問すみません
mootoolsのスレとかありますでしょうか?
713デフォルトの名無しさん:2011/07/06(水) 22:55:52.30
大きさの違う画像で自動で動くスライドショーがあったら教えてください
714デフォルトの名無しさん:2011/07/08(金) 20:08:39.93
jqueryのajax関数で通信が成功したときに呼び出される関数に引数を渡したいと思います

var temp="test";
$.ajax({
url: 'http://hoge',
success : function(data){
alert(data.myVar);
}({myVar:temp})
});
これだと"test"とアラートはされるのですが、dataが上書きされてしまって、
リクエストのレスポンスが取得できなくなってしまいます

何方かレスポンスも引数の引渡しも出来るやり方をご存知でしたら教えてください。
715デフォルトの名無しさん:2011/07/08(金) 20:22:00.25
>>714
クロージャーを勉強する事をおすすめする
ちなみに自分で書いてるコードの意味は理解してるの・・・?
716デフォルトの名無しさん:2011/07/08(金) 21:39:17.26
>>715
ありがとうございます!
早速下記のURLを読んで勉強しまして書き換えました
http://dqn.sakusakutto.jp/2009/01/javascript_5.html

変更後のコード
var temp="test";
$.ajax({
url: loadUrl,
success: function (response){
return function(r,t){alert(r);alert(t);}(response,temp)
}
});

結果:レスポンス内容・”test”の順番にアラートされるようになりました。
>>ちなみに自分で書いてるコードの意味は理解してるの・・・?
苦しんでたので動けばいいと思ってコードを書いてました
今も理解度50%ぐらいかも・・・
717デフォルトの名無しさん:2011/07/08(金) 23:59:14.83
function (){}()
というのは無名関数を実行しているだけだよ
tempが固定値等であれば
success : function(data){
alert(temp); // これで参照可能
}
ループとかで参照している場合はクロージャを使って閉じ込める

succcess : function (temp) {
return function (data) {
alert(temp);
}
}() // ここでsuccessに渡す無名関数を生成している
718デフォルトの名無しさん:2011/07/09(土) 19:48:12.56
>>717
勉強になります
ありがとおうございました
719デフォルトの名無しさん:2011/07/14(木) 10:08:19.86
既に作ったwebコンテンツを先読みさせてブラウザにキャッシュさせたいのですが、
いい方法はないでしょうか?
720デフォルトの名無しさん:2011/07/14(木) 23:53:50.34
非表示のiframe作ってそこにloadしておけば?
必要になったら読み出せばいい。
721デフォルトの名無しさん:2011/07/16(土) 13:43:13.02
>>716
クロージャが苦手ならcontextか$.proxyでオブジェクトのメソッドにする手もある
var obj = {
myVar: "test",
success: function(data) {
alert(data);
alert(this.myVar);
}
};
$.ajax({
url: loadUrl,
success: $.proxy(obj.success, obj)
});
722デフォルトの名無しさん:2011/07/27(水) 19:36:54.80
タブの切り替えって、jQuery使わないと出来ないの?教えてエロイ人!
723デフォルトの名無しさん:2011/07/27(水) 23:16:58.45
使わなくてもできる。
724デフォルトの名無しさん:2011/07/28(木) 07:48:31.02
jQueryにできてJavaScriptに出来ないことはない
725デフォルトの名無しさん:2011/07/28(木) 11:32:31.77
そりゃそうだw
726デフォルトの名無しさん:2011/07/28(木) 12:48:02.59
質問させてください
アコーデオンで項目を作っているのですが、
項目を切り替えたりする時に横幅が変わって画面がガクっとします。
機能としては問題ないのですが、少し気持ち悪く原因もよくわからない状態です・・・
どなたかアドバイスいただけないでしょうか?
727デフォルトの名無しさん:2011/07/28(木) 13:09:07.29
ブロックにwidthを指定しておけば
728デフォルトの名無しさん:2011/07/28(木) 13:33:14.05
>>727
レスありがとうございます
はい、widthも指定しているのですが・・・
なぜかガクっと横幅が変わります

今確認した所、IEではガクっとしませんね・・・
FireFoxで見ると、ガクっとします
FireFoxのバージョンは、3.6.18です
729デフォルトの名無しさん:2011/07/28(木) 18:54:16.79
>>723-725
返答サンクス!
プログラミング初心者の私が自分のホームページを作りたいと思い奮闘してるんだが、いかんせん分からないことが多い。
日産自動車やトヨタ自動車のタブ、あれもjavascriptだけでやってんの?
ソース見てもよく分からん(TムT)
教えてエロイ人!!
730デフォルトの名無しさん:2011/07/28(木) 21:10:32.95
>>729
そうですね、どちらもJavaScript(jQuery)を使われてます
731デフォルトの名無しさん:2011/07/28(木) 22:21:49.02
アップロード用のプラグイン
Uploadifyを使用してるんですが
IE以外のブラウザでファイルをアップロードするとエラーが発生してしまいました
エラーメッセージはhttpエラーと出力されます
Firefoxだとエラーどころかフリーズしてしまうしまつです(>_<)
IEだと正常にアップできるんですが…
どなたか同じ様な症状に陥ったかたいませんか〜?
また解決策わかる人いたら教えて下さい!
732デフォルトの名無しさん:2011/07/30(土) 17:44:15.07
>>722
そもjQueryはブラウザ間の動作の違いを吸収する様にjavaScriptで書かれたクラスライブラリなんだが。。。
733デフォルトの名無しさん:2011/07/30(土) 19:03:58.27
それがどうかしましたか?
734デフォルトの名無しさん:2011/07/31(日) 10:02:54.20
>>731
アップロード結果がiframeに返ってきたのを
旨く取れてないんじゃないかな。
プラグイン側を修正しちゃうのが早いかも。

chromeのJavaScriptデバッガ使うといい
735デフォルトの名無しさん:2011/08/01(月) 05:09:34.60
現在HPを作成しています。
Youtubeの動画を画面いっぱいに表示し、再生される動画には画面全体にドッドパターンをレイヤー的に重ねて表示したいと考えています。

調べてみたところ、
【YOUTUBEを背景いっぱいに表示できるjQueryプラグイン「jquery-tubular」】
 http://www.skuare.net/test/jtubular.html

を使用する事で動画の背景表示は可能になりました。

困っているのは再生される動画にドッドパターンを重ねる部分です。

【「背景画像に更にドットパターンを合成して超カッコよくできるjQueryプラグイン「Vegas Background」】
 http://phpspot.org/blog/archives/2011/05/jqueryvegas_bac.html

こちらのjQueryプラグインを併用する事で、可能になると考え素人ながらに手探りで弄ってみたのですがどうしても正常に作動させる事が出来ません。

どなたか「jquery-tubular」のサンプルファイルに「Vegas Background」でドットスクリーンを適用する為のソース記述を教えて頂けないでしょうか?
736デフォルトの名無しさん:2011/08/01(月) 10:02:07.09
>>735
http://www.skuare.net/test/jtubular.html
ここのサンプルページをDeveloperToolsでいじってみただけだけど
div#video-coverにbackground: (0,0,0, .8);とか指定したら反映された

もう片方のプラグインが使えるかは分からないけど、
そのエレメントに透過画像を設定すれば、やろうとしてることができるんじゃないかな?

http://www.dotup.org/uploda/www.dotup.org1852771.png
737735:2011/08/01(月) 10:55:00.98
>>736

すみません。
折角教えて頂いているのに上手く出来ません。

http://code.google.com/p/jquery-tubular/downloads/detail?name=jquery-tubular.zip&can=2&q=

ここからDL出来るサンプルファイルを改変するカタチでご教授して頂ける方は居ませんでしょうか?
738デフォルトの名無しさん:2011/08/01(月) 11:33:44.00
>>737
あくまで俺が提案した方法でよければって話だけど
ドットパターン画像を自分で用意して、

↓このファイルに
/css/screen.css

↓以下を記述
div#video-cover {
background: url("画像URL") repeat;
}
739735:2011/08/01(月) 12:08:15.00
>>738

お付き合い頂きありがとう御座います。

ご指定のスタイルシートの末尾に

div#video-cover {
background: url("画像URL") repeat;
}

をコピペして画像URLを指定しましたがドットパターンは表示されませんでした。

何が足りないにでしょうか・・・
740デフォルトの名無しさん:2011/08/01(月) 12:30:52.27
>>739
なんでだろうな〜
サンプル落としてそのままそこだけ書き加えただけなんで他の部分に問題があるとは考えられない

もしかしたら画像がおかしい可能性があるから、これで試してみてもらえますか

div#video-cover {
background: url("http://k.yimg.jp/images/top/sp/logo.gif") repeat;
}

div#video-cover {
background: url("http://vegas.jaysalvat.com/js/vegas/overlays/10.png") repeat;
}
741735:2011/08/01(月) 15:11:44.86
>>740

出来ましたっ!!
ありがとう御座います。
本当に感謝の気持ちでいっぱいです。

ドット画像を絶対パスで指定したら正常に表示されました。

凄く嬉しいです。

重ね重ね感謝です^^
742デフォルトの名無しさん:2011/08/01(月) 21:49:18.84
jQuery Youtube Playerというプラグイン、本家は既に閉鎖してるけど今でも手に入れられる場所無いですかね?
743デフォルトの名無しさん:2011/08/02(火) 01:02:00.44
thickboxを使っているのですが、イメージをクリックした際、
表示される画像が半分しかでてきません。
しかもオーバーレイ状態にもならず、
メインコンテナのdiv部分に隠れてしまいます。

どなたか解決方法をご教授ください。。。
744735:2011/08/03(水) 01:06:35.49
すいません、また質問です。

既述の
【YOUTUBEを背景いっぱいに表示できるjQueryプラグイン「jquery-tubular」】
http://code.google.com/p/jquery-tubular/downloads/detail?name=jquery-tubular.zip&can=2&q=

の件なのですが、デフォルトですと動画の音声がOFFの状態で再生がスタートするのですが
最初から音声がONの状態で再生スタートさせるにはどこをどう記述変更すれば良いでしょうか?

恐らく「mission-control.js」を変更するのだと思いますが、どう変更したら良いか解りません。

お願い致します。
745デフォルトの名無しさん:2011/08/03(水) 08:59:34.83
>>744
/js/jquery.tubular.js

48行目
ytplayer.mute();
を消す
746デフォルトの名無しさん:2011/08/03(水) 11:07:37.12

http://jquery.vostrel.cz/reel

こちらの左右上下に回転させるreelを作りたいのですが上手くいきません
左右に動かすだけならサンプル画像を使って
$('#image').reel({ frames: 36, saves: false, footage: 6, });
で再現できたんですが
左右上下はどうしたら良いのでしょうか
どなたかアドバイス下さい
747デフォルトの名無しさん:2011/08/03(水) 22:47:24.75
$(function() {
$("#button").bind('click', function() {
$("#loading").show();
$("#pics").load('test.html', function() {
$("#loading").fadeOut(function() {
$("#pics").show();
});
});
});
});
#buttonをクリックするたびに#picsが差し換わっちゃうんだけど、
差し替えじゃなくてクリックする度にtext.htmlを追加する方法ってどうやるの?
教えてえらい人
748デフォルトの名無しさん:2011/08/03(水) 23:10:25.13
>>747

$(function() {
$("#button").bind('click', function() {
$("#loading").show();
$.get('test.html', function(data) {
$("#pics").append(data);
});
});
});

試してないから間違ってたらごめん
749デフォルトの名無しさん:2011/08/03(水) 23:13:31.49
>>748
ありがとう偉い人
出来たけどIE8がダメポ
750735:2011/08/04(木) 18:09:14.22
>>745

そっちでしたか。
出来ました。
ありがとう御座います。
751デフォルトの名無しさん:2011/08/05(金) 09:05:15.60
Ajaxで下キーを押すと候補を表示するプログラムを作りました
しかし下キーをおしっぱにすると大量のリクエストが発行されて
DOS攻撃のようになってしまいます
一度キーを押したら一定時間はキーの反応を無効にする事はできるのでしょうか?
752デフォルトの名無しさん:2011/08/05(金) 10:41:14.34
>>751
グローバル変数でフラグをたてるか、WAI-ARIAのbusy(正式名称は忘れた)属性をつけてビジー状態を管理する
753デフォルトの名無しさん:2011/08/06(土) 10:38:28.19
質問させて下さい。
「JW Player 5.7」
http://www.longtailvideo.com/players/jw-flv-player/
を使用してサイトに動画プレイヤーを埋め込んでみました。

ところが、再生ボタンをクリックする際にプレイヤーの周囲に点線のアウトラインが表示されてしまい見栄えが良くありません。
プレイヤーを埋め込んだページのスタイルシートにはa{outline:none;}はちゃんと記述してあります。

点線のアウトラインが表示される原因は一体何が考えられるでしょうか?
754デフォルトの名無しさん:2011/08/06(土) 14:03:50.15
>>753
どっかにサンプルないかな?

質問文から想像できるかぎりでは、
再生ボタンのエレメントがaタグではないかもしれないから
* { outline: none; }
で試してみるとか
755デフォルトの名無しさん:2011/08/06(土) 15:28:27.08
>>754
バッチリその通りでした(汗;;
とんだイージーエラー失礼致しました。
感謝致します。
756デフォルトの名無しさん:2011/08/07(日) 15:49:50.81
buttonの表示文字列の書き換えってどうやるんでしょうか?
下記ソースで、Aボタン1回目クリック時のアラートは、順番に、
空、undefined、undefined、A:
となっています。
2回目のクリックでは4つとも testになっていますが、表示文字列はA:のままです。


<link rel="stylesheet" href="http://code.jquery.com/mobile/1.0b2/jquery.mobile-1.0b2.min.css" />
<script src="http://code.jquery.com/jquery-1.6.2.min.js"></script>
<script src="http://code.jquery.com/mobile/1.0b2/jquery.mobile-1.0b2.min.js"></script>
<script type="text/javascript">
<!--
function test(){
alert("value = "+$("#buttonA").attr("value") );
alert("label = "+$("#buttonA").attr("label") );
alert("text = "+$("#buttonA").attr("text") );
alert("text()= "+$("#buttonA").text() );
$("#buttonA").val("test") ;
$("#buttonA").text("test") ;
$("#buttonA").html("test") ;
$("#buttonA").button({label:"test"}) ;
$("#buttonA").attr("value", "test");
$("#buttonA").attr("label", "test");
$("#buttonA").attr("text", "test");
$("#buttonA").attr("defaultValue", "test");
}
-->
</script>

<button id="buttonA" onClick="test()">A:</button>
<button id="buttonB" >B:</button>
757756:2011/08/07(日) 16:03:05.59
>>756ですが、

以下のリンクをどちらかはずすと、スタイルは崩れまくりですが、
$("#buttonA").text("test") ; で、ボタン文字列を test に書き換えできました。

<link rel="stylesheet" href="http://code.jquery.com/mobile/1.0b2/jquery.mobile-1.0b2.min.css" />
<script src="http://code.jquery.com/mobile/1.0b2/jquery.mobile-1.0b2.min.js"></script>


758デフォルトの名無しさん:2011/08/07(日) 16:12:40.38
全く意味をわからずに書いてることは理解できた
入門サイトとか読んだほうがいいと思うよ
759デフォルトの名無しさん:2011/08/08(月) 00:14:41.62
jquery ajaxではてなブックマークの被ブックマーク数取得APIを利用し、
特定のURLの被ブックマーク数を取得するスクリプトを書いています

var url="http://api.b.st-hatena.com/entry.count";
$.ajax({
type: "GET",
url: url,
data:"url=http%3A%2F%2Fyahoo.co.jp",
dataType:"text",
scriptCharset:"utf-8",
success: function (response){
alert("sucess");
alert(response);
}
});
こうしたところ、ファイヤーバグで確認してみると3バイトのレスポンスが帰ってきているのですが、
ファイヤーバグのレスポンスの欄は空です。
取得が成功した際に無名関数が実行されalertが実行されるはずですが、それも実行されません。

http://api.b.st-hatena.com/entry.count?url=http%3A%2F%2Fyahoo.co.jp
にブラウザでアクセスると「289」と表示され、
urlのパラメーターをデタラメにしてアクセスすると何も表示されないので
3バイトのレスポンスを得ているという事は取得は成功しているようなのですが
sucessイベントに割り当てた無名関数が実行されない理由がわかりません

どなたか解決方法を御存知でしたら教えて下さい。よろしくお願いします。
760デフォルトの名無しさん:2011/08/08(月) 03:09:26.73
セキュリティ上の問題で、今開いてるページとは違うドメインなどの
データは原則として読み込めないようになっている。
詳細はSame origin policyとかでググると出てくる。

それでは不便だということで制限を迂回するトリックがいくつか登場した。
そのひとつにJSONPというのがある。
そのWebAPIではJSONPに対応しているので、jQueryではdataType:"jsonp"と指定を追加すれば動く。
どうやって迂回してるのかはググってくれ。

他にも手法はあるし、新しい仕様が提案されて実装されたりもしているので詳しくは
「クロスドメイン通信」とかでググるといいよ。
761デフォルトの名無しさん:2011/08/08(月) 08:05:40.58
>>760
クロスドメイン制限を知っていたのにすっかり忘れていましたが
JSONPを指定しすると動くのは知りませんでした!
丁寧な回答有難うございます
762デフォルトの名無しさん:2011/08/08(月) 08:26:57.32
一応動くようになったコードを張っておきます
>>760有難う御座いました

var url="http://api.b.st-hatena.com/entry.count";
$.ajax({
type: "GET",
url: url,
data:"url=http%3A%2F%2Fyahoo.co.jp",
dataType:"jsonp",
scriptCharset:"utf-8",
success: function (response){
alert("sucess");
alert(response);
}
});
763デフォルトの名無しさん:2011/08/09(火) 12:55:19.31
jquery-1.5.1.min.js、jquery-ui-1.8.14.custom.min.js
imgタグにresizableを設定してもうまく動かないのですが、回避方法はないでしょうか?
(IEではハンドルが表示されず画像が小さくなる。Firefoxはリサイズできるものの
ハンドルがちらついてちゃんと表示されない。Chromeでは画像が消えてしまう)

<img id="resizableImage" src="sample.gif">
<script type="text/javascript">
$(document).ready(function(){
$("#resizableImage").resizable();
});
</script>
764デフォルトの名無しさん:2011/08/20(土) 03:28:08.24
jquery.mobile-1.0b2.jsの質問です。
リファレンスに

var myselect = $("select#foo");
myselect[0].selectedIndex = 3;
myselect.selectmenu("refresh");

こんな例が載ってますが、どうやらフォームをajax送信してしまうとmyselect[0]が
反応しなくなってしまうようです。
とりあえずajaxを切れば回避できることはわかりましたが、ajaxを切らずに
送信を行う方法というのはあるのでしょうか?

また、この[0]の値はもしかすると送信するたびに加算されたりしているのでしょうか?
765デフォルトの名無しさん:2011/08/20(土) 12:18:08.69
<span id="username1" style="display:block;">hogehoge</span>
<span id="usernametext1" style="display:none;">
<input type="text" value="hogehoge"/>
</span>


<script>
$(document).ready(function(){
// テキストクリックで、テキスト隠して
// テキストボックスを表示してフォーカスを当てたい
$('#username1').click(function(){
$('#usernametext1').show();
$('#usernametext1').focus();
$('#username1').hide();
});
// テキストボックスからフォーカス外れたら、テキストを表示したい
$('#usernametext1').blur(function(){
$('#username1').show();
$('#usernametext1').hide();
});
});
</script>



こんなの書いたんだが、クリックしてテキストボックス表示はできるのに
フォーカス当たらないし、手動でフォーカス当てても、その後blurが動いてくれない
何か根本的に間違ってるでしょうか?
766デフォルトの名無しさん:2011/08/20(土) 16:48:16.31
#usernametext1がテキストボックスじゃなくてspanに付いてるから
767765:2011/08/20(土) 17:24:49.79
>>766
申し訳ないです。orz
768デフォルトの名無しさん:2011/08/24(水) 16:22:57.63
結局jQueryなんてもんは負の産物だと思うんだがどうよ?
各社ブラウザが仕様を統一するかいっそブラウザ自体にjQueryを実装すればいいのに
なんて思うのはわたしだけですか。
769デフォルトの名無しさん:2011/08/24(水) 16:39:50.93
prototype.jsは負の遺産と言われても仕方ないと思うけど
jQueryは使い勝手が良い部分も多いから負の遺産とまでは言わないと思うがなー
誰かが勝手に作ったjQueryプラグインは負の遺産がそれなりあるとは思うw
770デフォルトの名無しさん:2011/08/24(水) 18:01:14.59
jQueryに初チャレンジしているのですが、元あるものを参考にしつつ勉強しているのですが、
このスライドショーのサンプルで、最初に表示される画像をランダム化する事にチャレンジ
しているのですがうまくいきません。
http://jsajax.com/Articles/jqueryphotoslide/1315

色々調べて、jquery-shuffle.js などを組み合わせてとも思ったのですが、
他のところに影響してしまったりでうまくいきませんでした。

どなたかご教授いただけませんでしょうか?

宜しくお願い致します。
771デフォルトの名無しさん:2011/08/24(水) 18:48:25.46
スクリプトの一番初めに定義されるcurrent変数の値に乱数を指定する
772770:2011/08/24(水) 19:39:53.43
>>771
有難う御座います。
教えていただいた箇所をいじると『スライドさせる画像の順番を○個飛ばす』になりました。

これはこれで嬉しい発見だったのですが、最初に表示される画像をランダム化する
のとはちょっと違いました。

引き続きご指導お願い致します。

773デフォルトの名無しさん:2011/08/25(木) 23:21:33.56
JQM1.0b2にて、iBBDemo2で見るとbackボタン(data-rel="back")が機能しないのですが
仕様ですか?
774デフォルトの名無しさん:2011/08/25(木) 23:38:05.16
>>772
強引だけど

$(document).ready(function() {
current = 1;
button = 1;
images = 10;
width = 480;


$(document).ready(function() {
rnd=Math.ceil(Math.random()*10);

current = rnd;
button = 1;
images = 10;
width = 480;

eval($('#p'+rnd)).animate({ "left": "0px" }, 400, "swing");
eval($('#b'+rnd)).css("backgroundPosition", "left bottom")
eval($('#b'+rnd+' b')).css("color", "#fff");


こんなんでどうよ
775デフォルトの名無しさん:2011/08/25(木) 23:45:40.12
あー最初の部分は順番変えて

$(document).ready(function() {
images = $('#slide a').size();//←要素数自動取得
rnd=Math.ceil(Math.random()*images);
current = rnd;
button = 1;
width = 480;


こうした方がほんのチョッピリスマート。
776デフォルトの名無しさん:2011/08/25(木) 23:56:02.55
何度もゴメンヌ
こうだにゃ

$(document).ready(function() {
images = $('#slide a').size();//←別にこれやらないで普通に数字入れればいいけど
current=Math.ceil(Math.random()*images);
button = 1;
width = 480;
eval($('#p'+current)).animate({ "left": "0px" }, 400, "swing");
eval($('#b'+current)).css("backgroundPosition", "left bottom")
eval($('#b'+current+' b')).css("color", "#fff");

$("#next").click(function() {
777770:2011/08/26(金) 23:14:00.72
>>776
有難う御座います。
設置してみたのですが、どうもうまく動かないです・・・

最初のシャッフル化ができておらず、いままでと同じ挙動をしてしまいます。
※念の為、ブラウザで .js ファイルを直接読み込み直し、再度開いているので
 ブラウザキャッシュの影響では無いと思います・・・
778デフォルトの名無しさん:2011/08/27(土) 08:36:59.50
>>777
JQのバージョンのせいかしら。
最新版に差し替えてみそ。
779デフォルトの名無しさん:2011/08/27(土) 11:43:53.49
試してみたけど、ちゃんと動いたよ。バージョンは1.4.2
あえて言うなら、eval()はいらなくね?と思ったけど
780デフォルトの名無しさん:2011/08/29(月) 23:41:33.88
フォームで一つ目の<input >に入力をすると
次の<input >が出てきて入力できるようなjqueryのプラグインないですか?
教えてくださいエロい人
781デフォルトの名無しさん:2011/08/30(火) 08:39:04.08
>>780
こんな感じかな?
<html>
 <body>
  <input type="text">
 </body>
 <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.6.2/jquery.min.js" type="text/javascript"></script>
 <script type="text/javascript">
  $('body').delegate('input:text[value=""]', 'keydown', function () {
   $('body').append('<input type="text">');
  });
 </script>
</html>
782デフォルトの名無しさん:2011/08/30(火) 20:38:13.87
>>781
ありがとん
783デフォルトの名無しさん:2011/08/30(火) 22:41:23.77
$(document).ready(function(){/*ここ*/})
$(function(){/*ここ*/})
このタイミングで、このコードが書かれたscript要素ノード(外部orインライン)を取得するにはどうすればいいですか?
idを振るとかではなく
>とてもシンプルに自分自身が属する script 要素を取得 - IT戦記
>http://d.hatena.ne.jp/amachang/20061201/1164986067
みたいなことを
$(document).readyの関数内でやりたいです
784デフォルトの名無しさん:2011/08/30(火) 22:48:00.21
javascriptでhtml変更したあと、そこのオブジェクトのonload処理走らせるのってどうするの?
liveだとだめでした。
785デフォルトの名無しさん:2011/08/30(火) 22:58:49.72
>>784
その要素は何?onloadを持ってるの?
786デフォルトの名無しさん:2011/08/30(火) 23:01:12.24
>>783
無理。readyの中では全てのscript要素が読み込まれてしまう。
787783:2011/08/30(火) 23:05:42.00
>>786
無敵のjQueryでもどうにもならないですか
どうもありがとうございます
788デフォルトの名無しさん:2011/08/30(火) 23:29:22.99
>>785

input type="text"です。

readyで、onloadをバインドしているのですが、その後のHTML書き換えによって、消えてしまっているようです。
789デフォルトの名無しさん:2011/08/31(水) 00:45:21.29
>>787
無敵…?JavaScriptに出来ないことはjQueryにも出来ない。魔法じゃないんだから。

>>788
<input type="text"> に onload はない。というか、onload に何を期待しているのかわからない。
790デフォルトの名無しさん:2011/09/01(木) 00:33:21.22
onloadあると思う。
onloadでテキストボックスに設定されている値を、フォーマットしたい。
791デフォルトの名無しさん:2011/09/01(木) 03:03:31.55
ないよ
他の方法使えばいいだろ
792デフォルトの名無しさん:2011/09/01(木) 09:30:24.25
var cs = $('script:last');
$(function (){
cs...


これじゃいかんの?
793デフォルトの名無しさん:2011/09/01(木) 12:20:42.40
>>792
いけると思うけど、>>783の要件を満たしてないよね
794デフォルトの名無しさん:2011/09/02(金) 20:41:14.77
$(function(){})によるDOMReadyって必ずwindow.onloadの前に実行されるんですか?
795デフォルトの名無しさん:2011/09/02(金) 21:09:10.01
>>794
原理的にはそうだけど、DOMContentloadedをサポートしないブラウザは擬似的に実現するから保証はない
796困ったちゃん:2011/09/02(金) 22:36:16.98
jquery-tubular についての質問なのですが、
YOUTUBEを背景に表示させるとことまでは出来たのですが、左右横に20pxくらいの余白ができてしまいます。
http://www.geocities.jp/jqery114/jquery-tubular.html

これってどうやって背景いっぱいに表示させるのでしょうか?
お分かりになるかた、教えてください。
797デフォルトの名無しさん:2011/09/02(金) 22:51:52.11
>>796
それは元動画のアス比の問題かな。
798困ったちゃん:2011/09/03(土) 00:15:08.23
>>797
最初そうかなーと思ったのですが、
でもなんかおかしい気がする。
799デフォルトの名無しさん:2011/09/03(土) 05:21:05.26
>>796
スクリプトの最初のほうにあるこの部分で指定できそうな気がする

var videoRatio = 16/9; // either 4/3 or 16/9
800デフォルトの名無しさん:2011/09/03(土) 10:10:09.77
>>798
アスペクト比は確かに16:9なんだが、このままじゃタイムバーも含めて16:9になっちゃってるから
横幅が足りなくなっちゃって黒帯が出ちゃうんだよ。ってことで

L30

jQuery('#myytplayer').width(newWidth).height(newWidth/videoRatio);

jQuery('#myytplayer').width(newWidth).height(newWidth/videoRatio+30);//30はタイムバーの高さ

これでおk。
横幅をめいっぱいに開くと動画の下部が表示されなくなるから恐らくタイムバーは
元々非表示にしてしまっていいんだよね?

ちなみにIE8だと動画に対してのカバーがちゃんとかかってないので動画をクリックすると
YouTubeに飛んでしまうよ。対処しといた方がよさげ。
801デフォルトの名無しさん:2011/09/03(土) 10:50:16.76
あ、ごめん、タイムバーの高さ測り間違えた

jQuery('#myytplayer').width(newWidth).height(newWidth/videoRatio+25);

これぐらいがいいかも。
802困ったちゃん:2011/09/03(土) 13:07:51.68
>>800

できました!ありがとうございます!素晴らしいです。

>ちなみにIE8だと動画に対してのカバーがちゃんとかかってないので動画をクリックすると
YouTubeに飛んでしまうよ。対処しといた方がよさげ。

確かにそうです。ついでで申し訳ないですがどうやったらよろしいでしょうか。
カバーをかけたいっす!
803デフォルトの名無しさん:2011/09/03(土) 15:52:39.29
>>802
困ったちゃんだなあw
これIEの仕様でだな、<div id="video-cover">に例えば背景色を設定すると裏の動画へのクリックを
阻止できるわけですわ。もちろん設定したら動画が見えなくなる。
ということで例えばL7

<div id="video-cover" style="position: fixed;〜

<div id="video-cover" style="background-image:url(\'s.png\');position: fixed;〜

こんな風にダミーで透過画像なんか置いてやればおk。
ちなみに実際に画像が存在しなくてもこのままでいけるけども、まぁブラウザ的には
エラーが出るので透過画像はうpしといた方がよいでしょう。たぶん。
804デフォルトの名無しさん:2011/09/04(日) 00:02:58.16
class指定を速くする方法教えてくれ。
HTMLのサイズが非常に大きいので、1秒ぐらいかかる。
805デフォルトの名無しさん:2011/09/04(日) 00:22:12.83
>>804
$(document.getElementsByClassName("foo"))
806デフォルトの名無しさん:2011/09/04(日) 00:32:46.38
>>804
速度を求めるならjQueryを使うべきでない
XPathとquerySelectorAllとgetElementsByClassNameを使いわけれ
807困ったちゃん:2011/09/04(日) 18:52:01.09
>>803
出来ました〜!
感謝・感激(^_^)v 本当にありがとう。
808デフォルトの名無しさん:2011/09/07(水) 16:22:10.42
すみません、jqueryのtimepickrとvalidate、datetimepicker(datepicker+timepicker-addon)を併用したらエラーが出てきてしまいました…

http://haineault.com/media/jquery/ui-timepickr/page/

timepickrがなければ問題なく動くんですが、肝心のtimepickrこそが今回使いたい機能だったので回避も出来ません。
どなたかご教授願えないでしょうか?
809デフォルトの名無しさん:2011/09/07(水) 16:42:55.85
jqueryのtimepickrとvalidate、datetimepicker(datepicker+timepicker-addon)を併用した
サンプルコードを書けと言ってるのかな?
810デフォルトの名無しさん:2011/09/07(水) 21:36:15.36
<body>
<div>〜〜〜</div>
<divなど色々>〜〜</divなど色々>
<div>
 <div id="テスト">
  <table>やら<div>やら色々
  <script>〜</script>
 </div>
</div>
<div やら色々></div やら色々>
</body>

div要素のid=テスト以下全てを残して、それ以外の要素を全て消したいのですが色々試しましたが上手くいきません。
どなたかわかりませんでしょうか?
811デフォルトの名無しさん:2011/09/07(水) 22:53:48.34
$('body > div').not(':has(> #テスト)').remove();
812デフォルトの名無しさん:2011/09/13(火) 09:44:09.30
jquery cycle で幅を100%でウィンドウいっぱいにしたボックスの背景画像を一定時間で切り替えるコードを書いたんですが、
ボックスの幅が読み込み時のウィンドウの幅に固定されてしまい、ウィンドウをリサイズしてもボックスのサイズがそのままになってしまいます。
指定部分を以下に抜粋したんですが、原因わかる方いますか?

// スクリプト
$(document).ready(function() {
$(".slides").cycle({
fx:'fade',
speed:600,
timeout:8000,
pause:1
});
});

// HTML
<div id="slide-content" class="slides">
<div class="slide" style="background:url(img/bg1.jpg) no-repeat 50% 0; display:block;"> </div>
<div class="slide" style="background:url(img/bg2.jpg) no-repeat 50% 0; display:none;"> </div>
<div class="slide" style="background:url(img/bg3.jpg) no-repeat 50% 0; display:none;"> </div>
</div>

// CSS
#slide-content {
width:100%;
height:400px;
}
.slide {
width:100%;
}
813デフォルトの名無しさん:2011/09/14(水) 10:29:29.79

<li>
 <a>日記</a>
を読む。
</li>

の <a>タグに囲まれていない 『を読む。』だけ取り出すにはどうすればいいですか?

$('li').text()だと『日記を読む。』になってしまいます。
814デフォルトの名無しさん:2011/09/14(水) 12:11:24.88
>>813
$('li').html().replace(/<a>.*?<\/a>/,'')
815デフォルトの名無しさん:2011/09/14(水) 12:12:49.81
>>813
そもそも文法違反
816デフォルトの名無しさん:2011/09/14(水) 13:39:38.09
どこが
817デフォルトの名無しさん:2011/09/14(水) 17:33:21.99
>>813

$('li').children().remove().end().text();
818デフォルトの名無しさん:2011/09/14(水) 22:28:56.33
>>815
うるせーばか
819813:2011/09/14(水) 23:57:52.79
ありがとうございました。
820デフォルトの名無しさん:2011/09/16(金) 07:20:15.26
http://jsajax.com/Articles/jQueryUIDroppablePhoto/1252

のようにしたいんですが、これを要素がtrashに入った状態でも条件によってtrash内で並べ替えが起こるようにしたいんです。

例えばtree2を最初にtrashにいれたとして、次にtree1をドラッグしてtrashに入れようとするとtree2が右にずれてtree1が一番左に入る、というふうにです。

どうやればいいでしょうか?
821デフォルトの名無しさん:2011/09/18(日) 00:55:06.41
appendをprepend
822デフォルトの名無しさん:2011/09/18(日) 20:39:42.63
>821 ありがとうございます!ただ、pretendだと1番目に入りますよね?そうではなく、
「ドラッグしてきた要素が本来その位置に入るものであれば今入っている要素を後ろに移動させて挿入する」
という感じにしたいんです。
あらかじめtrashに入る位置を例えば1番目にtree1、2番目にtree2、という風に決めておきます。
それでユーザーがtree2を最初にtrashにいれたとして、次にtree1をドラッグしてtrashの1番目に入れようとするとtree1は1番目に入るのが正しいのでtree2が右にずれてtree1が1番目に入ります。しかしこれが他のものを1番目に入れようとすると入らないという風にです。
簡単にでもいいのでアドバイスや案などお願いします。
823デフォルトの名無しさん:2011/09/18(日) 21:48:27.70
入れたい位置の要素を見つけてきて、insertAfterかな
824デフォルトの名無しさん:2011/09/19(月) 03:52:28.42
>823 「入れたい位置の要素を見つけてきて」これが難しいですね…
825デフォルトの名無しさん:2011/09/19(月) 08:38:06.41
ブラウザ使用?でTabキーを押すと、フォーカスが遷移すると思いますが、
Enterキーでも同様の遷移をさせる方法があれば教えてください。

※次にフォーカスがあたるオブジェクト名などが取れる方法があれば知りたいです。
826デフォルトの名無しさん:2011/09/19(月) 11:51:37.89
>>824
ちょっとコードみてみた。insertAfterじゃなくてinsertBeforeだな。

Trashに入っている要素をすべて選択 → $('li', $list)
要素の比較すべきテキスト → 要素.find('h5').text();
Trashの要素と引数の要素のテキストを比べていく。
Trashに要素がない場合 or 一番最後に入れるべきだった → appendToしている元のコードをそのまま使う
上記以外の場合 → appendTo($list) の部分が insertBefore(見つけ出した要素)

な感じでどうよ。
827デフォルトの名無しさん:2011/09/20(火) 02:41:55.34
要素の順番を要素に持たせとく(dataを使う)
ドロップしたときに、とりあえずtrashの一番後ろに挿入する
ドロップした要素の順番値とtrash内の要素のそれを比べていき、trash 内の要素のほうが大きかった時点でその要素の前に挿入しなおす


828808:2011/09/20(火) 10:05:40.28
808です。以前は自分でも分からない状況を把握せず書き込んでしまい申し訳ありませんでした
何故動かないのか調べてみると、

<script type="text/javascript" src="./js/jquery.ui.all.js"></script>
<script type="text/javascript" src="./js/jquery-ui-1.8.8.custom.min.js"></script>

<script type="text/javascript" src="./js/ui.timepickr.js"></script>
<script type="text/javascript" src="./js/ui/i18n/jquery.ui.datepicker-ja.js"></script>

ここでui.all.jsとui-1.8.8.custom.min.jsを処理する際に、too much recursionとなってしまっているようです。
処理が多すぎるので打ち切る、と告げられているらしい事は分かったのですが、解決法が分かりません。
どうしたらよいでしょうか?アドバイスをお願いします。
829デフォルトの名無しさん:2011/09/20(火) 11:56:33.19
<input class="button" type="button" value="ボタン" value2="ボタンを押しました" />

$(".button").click(function(){alert(value2);});

上のコードは自分の脳内コード(value2)で当然動かないんです。
htmlから変数をjQueryに渡す方法、もしくは問題解決できる検索ワードを教えてください。
830デフォルトの名無しさん:2011/09/20(火) 13:07:40.23
>>829
jquery data html5
831デフォルトの名無しさん:2011/09/20(火) 13:38:54.46
>>830
的確な検索ワードありがとう!、助かりました。
832デフォルトの名無しさん:2011/09/20(火) 18:00:01.09
JSONPの関数名が固定されている場合、
「jQuery.getJSON( url, [data,] [success(data, textStatus, jqXHR)] )」のsuccessの部分は使えず
自分でグローバルにその関数名の関数を用意しておかないといけないですか?
833デフォルトの名無しさん:2011/09/20(火) 22:20:34.39
>>832
yes
834832:2011/09/20(火) 22:39:54.53
>>833
どうもありがとうございますm(_ _)m
835デフォルトの名無しさん:2011/09/24(土) 23:33:00.02
よろしくお願いします
5つのボタンdiv(id bot1〜5)をクリックする毎に、div要素A(z-index 2)
をshow(speed)で表示させると同時に、裏にあるdiv要素B(z-index1)の背景画像(png)を
10枚程度連続で切り替えgifアニメ風にアニメーションさせようとしています。

当初、javascriptライブラリのanimateImageを使用して上手く表示できていたのですが、
パソコンによってIEで表示させると要素Bの画像切り替え処理が遅くなり、要素Aとの
表示タイミングがずれるという事が判明しました。(FireFoxではほぼ正常に表示される)

gifアニメを作って画像を切り替え試しましたが、FireFoxがキャッシュを保存して
しまっているのか、2回目以降アニメーションしてくれませんでした。

jQueryで各ボタンclickイベント内で処理すればタイミングが合うのではと思っているのですが・・・
何か良い方法はないでしょうか
836デフォルトの名無しさん:2011/09/25(日) 22:47:13.01
>>835
pngでアニメーションさせればいいよ!w

ttp://black-flag.net/jquery/20101026-1697.html
837デフォルトの名無しさん:2011/09/26(月) 20:55:52.13
>>836
ありがとうございます!
ちょっと試してみます
838デフォルトの名無しさん:2011/09/26(月) 21:29:30.17
$("span",$("div"))
$("div").find("span")
この二つはまったく同じ意味ですか?
839デフォルトの名無しさん:2011/09/27(火) 13:37:42.67
jquery mobileで長方形の画像サムネイルを表示させたいんですが、
どのサイトを調べても正方形に調整させるとしか書かれて無いんですよねorz

もしサムネリストのサムネのサイズを長方形にできる方法があれば教えてください。
CSSでできるようならありがたいんですが、
何分ソースが難解すぎてできる気がしません(泣
840デフォルトの名無しさん:2011/09/27(火) 15:09:45.01
>>838
後者の方が速い
841デフォルトの名無しさん:2011/09/27(火) 15:57:02.06
>>839ですが
jquery mobile だとデフォで80×80にサムネサイズがリサイズされてしまうのですが
これを例えば 80×100みたいな長方形にしたいんですが
何かいい方法は無いでしょうか

ソースを弄るのは不安なんで
これを記述すればどうにかなるってのがありましたら教えていただけるとありがたいです
842838:2011/09/27(火) 18:17:10.61
>>840
そうなんですか!どうもありがとうございますm(_ _)m
よかったらほかにもそういうのがあれば教えてください
lengthとsize()の場合はlengthのほうを使えってのは公式に書いてありました
843デフォルトの名無しさん:2011/10/01(土) 17:35:44.29
jquery mobileのリストで画面を移動させると一旦画面の一番上に戻ってスクロールするので、
backで戻ったときも一番上に戻っちゃうんですが、元の場所に戻ることはできないのでしょうか。

あとdivider単位で移動とかってできますか
1月〜12月までに分けたときに次の月か特定の月まで移動するみたいなことができればと思ってますが。。
844デフォルトの名無しさん:2011/10/01(土) 18:23:11.58
ページを読み込んだ後にjavascriptを実行する場合、
色々な書き方があります。

window.onload = function(x) {}

$(window).load(function(x) {});

$(document).ready(function(x) {});

$(function() {});

これらに違いはあるのでしょうか。
2番目は内部で1番目の処理を行ってると予測できますが、
どれを使えばいいのか分かりません。
845デフォルトの名無しさん:2011/10/01(土) 21:39:17.43
>>844
1,2番目は window.onload のタイミングで実行される。
3,4番目は DOMContentLoaded のタイミングで実行される。
846デフォルトの名無しさん:2011/10/04(火) 14:21:22.21
>>192 のaccessって何ですか?
ググってもDBのほうがひっかかって
847デフォルトの名無しさん:2011/10/05(水) 06:06:19.08
擬似コードだろ。
848デフォルトの名無しさん:2011/10/12(水) 19:45:28.05
jquery mobileの質問ですが
jquery.mobile-1.0b3/jquery.mobile-1.0b3.min.jsを使用しているのですが
<a href="" data-role="button" data-inline="true">
としてもボタンのサイズが横にかなり広くなってしまいます。

ちょっと分かりにくい質問かもしれませんが、何か分かる方いらっしゃいましたら
ご教授いただけると助かります
849デフォルトの名無しさん:2011/10/16(日) 23:58:31.92
$(function() {}); て書くと動かなくて
jQuery(function() {}); と書くと動くんですが
jsファイルのインポートか何かが原因なんですかね?
850デフォルトの名無しさん:2011/10/17(月) 12:33:01.92
window.onloadのコンフリクトとかエスパー...
851デフォルトの名無しさん:2011/10/17(月) 14:46:18.79
$が別のライブラリで上書きされているから
852デフォルトの名無しさん:2011/10/17(月) 21:43:22.47
ありがとう
jqueryとprototype.js両方使ってました
853デフォルトの名無しさん:2011/10/18(火) 22:04:28.28
var response = '';
$.ajax({ type: "GET",
url: "http://www.google.de",
async: false,
success : function(text){
response = text;
}
});
alert(response);
上のコードの事ですが、「http://うんたらかんたら」で取得するとレスポンスの値が返ってこないんだけど
http://」からのページを取得する用法ってどうやるの?
おしえてエロい人
854デフォルトの名無しさん:2011/10/19(水) 12:30:36.26
>>853
>...レスポンスの値が返ってこないんだけど

どんな種類の値を取るかで取れるものと取れないものがあるよ。
jsonなら、ドメイン越えOKだけど、xmlとかは同一ドメインでないとゲットできない。
取得したいデータの形式を再確認してくれ!
855デフォルトの名無しさん:2011/10/19(水) 16:53:34.54
jquery mobileやってて

hogemae.aspで

$.mobile.changePage({
  url: "hogeato.asp,
  type: "post",
  data: ""
}, "pop", false, true, false);

を実行して遷移した後

alert((document.getElementsByTagName("LI"))[0].firstChild.nodeValue);

を実行するとhogemae.aspのLiタグのnodeValueが呼ばれちゃう。
どうにかしてhogeato.aspのdocumentを実行する事出来ないかな。
856855:2011/10/19(水) 17:01:08.64
すまん、ちと補足。
alertを実行するのはhogeato.aspです。
857デフォルトの名無しさん:2011/10/19(水) 19:59:06.01
>>854
ありがとう
858デフォルトの名無しさん:2011/10/20(木) 04:23:34.92
iframeから親の親のscrollLeft()を取得したいです
$(this).scrollLeft();で自身を取得するのはわかるのですが、この親の親となるとイマイチ上手くいかないです
859デフォルトの名無しさん:2011/10/20(木) 22:03:43.84
table内のinputやcheckboxなどを配列として受け取るにはどうしたらいいですか?
860デフォルトの名無しさん:2011/10/21(金) 20:36:28.31
>>855
jquery mobileやってないけど…
その遷移ってajaxつかって遷移しているようにみせてるだけじゃね?
firebugなどでDOM構造がどうなってるか調べてみればよろし。
861デフォルトの名無しさん:2011/10/28(金) 11:49:14.04
変な質問かもしれませんが、selectの配列(name=sample[]の様な配列)の選択値の取得方法を御存じないでしょうか??
862デフォルトの名無しさん:2011/10/28(金) 19:07:45.19
>>861
jquery select 値 取得

でググる
863デフォルトの名無しさん:2011/10/28(金) 20:20:05.70
>>862
ぐぐったんだけど、配列の取得方法と、
selectの取得方法は見つかったが、その両方がなく、自分なりにブレンドしてみたけど、.eachで見に行ってくれない…
IDで指定すれば行けそうなんだけど、name[]で取得したいのですが…
864デフォルトの名無しさん:2011/10/28(金) 21:11:40.44
>>863
ためしにここにコードを書いてみそ
865デフォルトの名無しさん:2011/10/28(金) 21:41:01.07
>>863
属性セレクタを使えばいいんじゃないの
866デフォルトの名無しさん:2011/10/28(金) 21:52:57.47
よくわからんが、こういう状況か?
http://jsfiddle.net/bbmLL/1/
質問するのに手間を惜しむなよ…
867デフォルトの名無しさん:2011/10/28(金) 22:17:34.05
'select[name=\\[\\]]'
こんな感じでできるな
というか公式のあとりびゅーといこーるセレクタのコメントに書いてあるし
868デフォルトの名無しさん:2011/10/29(土) 01:38:42.40
<div id='hoge2'>jQueryでロールオーバーすると高さが伸縮</div>
<div id='hoge3'>CSSにポジションrelativeを指定</div>

としたいんだがIE6,7だとhoge3が微動だにしない・・・。
(下にスライドしない)
だれか教えてー

869デフォルトの名無しさん:2011/10/29(土) 02:48:00.25
すまん、解決できた。
bodyに背景画像をひいていたんだけど、それが原因。
zoom:1したら動いた。
なんだこのバグ・・・
870デフォルトの名無しさん:2011/10/30(日) 20:58:49.54
jQuery Mobileでヘッダを完全固定にする方法ないでしょうか?
固定にするには
data-position="fixed"
を使えといろんなサイトにありますが、これだとスクロールさせてる途中動いて消えてしまいます
871デフォルトの名無しさん:2011/11/02(水) 11:05:20.47
$(document).ready(function(){
$('.kakusu1').hide();
$('#lkop_1-1').show();
//ボタン操作
$('.ft_fw').click(function() {
$('.kakusu1').hide();
$('.kakusu1').next().show();
});
})

<div class="cont3 kakusu1" id="lkop_1-1">
<div class="cont3main">1-1</div>
<div class="cont3ft containerC">
<div class="ft_bk"><img src="img/btn_mn_bk.png" width="40" height="40" /></div>
<div class="ft_center"></div>
<div class="ft_fw"><img src="img/btn_mn_fw.png" width="40" height="40" /></div>
</div>
</div>
<div class="cont3 kakusu1" id="lkop_1-2">
872デフォルトの名無しさん:2011/11/02(水) 11:15:19.57
今、jqueryでfwボタンを押す度に次の
<div class="cont3 kakusu1" id="lkop_1-1"> ・・・・<div>

<div class="cont3 kakusu1" id="lkop_1-2"> ・・・・<div>

<div class="cont3 kakusu1" id="lkop_1-3"> ・・・・<div>
のように置き換わっていくようにしたいのですが。

るようにしたいのですが、

これを実行すると

<div class="cont3 kakusu1" id="lkop_1-1"> ・・・・<div>
は、hideで消えてくれるのですが。

$('.kakusu1').next().show();
で次のだけ表示させたいのに
<div class="cont3 kakusu1" id="lkop_1-2"> ・・・・<div>
<div class="cont3 kakusu1" id="lkop_1-3"> ・・・・<div>※すいません前レスに表示されていませんが
の両方が出てきます。

.next()では、次の一つだけを表示させる事は出来ないのでしょうか?
873デフォルトの名無しさん:2011/11/02(水) 12:01:46.88
1-2にもkakusu1がついてるなら1-3が表示されてもおかしくはない
$(".kakusu1:visible:last")
やるとしたらこんな感じで表示されてるもので最後の奴の次って感じだな
まぁ実際のHTMLわからんからどうなのかわからんけども
874デフォルトの名無しさん:2011/11/02(水) 13:58:19.36
>>873
ありがとうございます。
ちょっと:visibleと:lastについて調べてみます。
875デフォルトの名無しさん:2011/11/02(水) 14:41:13.17
横から失礼します。
ただいま、サイトで「cloud-zoom」を使って画像のギャラリーを
本家サイトの「Standard Settings With Gallery」のように作ってみようと
サイトのソースを流用してやっていますが、ズームする箇所のリンクが機能し続けていて困っています。
何かアドバイスを頂ければと思います。
宜しくお願いいたします。。


<div class="zoom-section">

<div class="zoom-desc">
<a href="big1.jpg" class="cloud-zoom-gallery" title="test" rel=" useZoom: 'zoom1', smallImage: 'mid1.jpg' ">
<img class="zoom-tiny-image" src="smal1.jpg" alt = "test" width="158" height="226">
</a>
<a href="big2.jpg" class="cloud-zoom-gallery" title="test" rel=" useZoom: 'zoom1', smallImage: 'mid2.jpg' ">
<img class="zoom-tiny-image" src="smal2.jpg" alt = "test" width="158" height="226">
</a>
</div>

<div class="zoom-small-image" style="margin-top: 5px;">
<a href='big1.jpg' class = 'cloud-zoom' id='zoom1' rel="adjustX:10, adjustY:0, zoomWidth:'499', zoomHeight:'423', position:'right'" onClick="function cs();">
<img src="mid1.jpg" alt='' title="test">
</a>
</div>

</div>
876デフォルトの名無しさん:2011/11/02(水) 15:59:53.97
>>875
> ...ズームする箇所のリンクが機能し続けていて困っています。

そりゃ、リンクタグで画像を括っているからではないか?
877デフォルトの名無しさん:2011/11/02(水) 16:07:34.13
cloud-zoomっていうのがそういう仕様らしい
エラー出てないかチェックしてみるといいかも
878デフォルトの名無しさん:2011/11/02(水) 16:08:58.17
>>876
おっしゃるとおりなのですが、本家のソースがこうなっていた事と、
<img>などの他のタグにしますと、ズーム部分が表示されなくなります。
現在ではjavascriptで以下の内容をページ内に書く込んでいるのでいるのですが、
当然といいましょうか、すべてのリンクが効きません。
御恥ずかしながら、一つのタグにのみ効果を反映させる方法も見当が付かない状態で御座います。

<script type="text/javascript">
$(function cs(){
$('a').click(function cs(){
return false;
})
});
</script>
879デフォルトの名無しさん:2011/11/02(水) 16:21:23.70
>>877
ご返答ありがとう御座います。
左様なのですね、エラーが出ているか出ていないは
チェックが可能なのですか?ブラウザ上ではクリックが可能以外に
問題は無いようですが。。。
880デフォルトの名無しさん:2011/11/02(水) 16:31:13.59
>>873
それはclickイベントの最初で全部hide()しとるからダメなんじゃまいか?
$('.kakusu1:visible').hide().next().show();
な感じでどうよ。全部hide()してる部分は消して。

> .next()では、次の一つだけを表示させる事は出来ないのでしょうか?

前段階で複数の要素が選択されている場合は、
next()の返り値はそれぞれの次の要素が選択されていることになります。
881デフォルトの名無しさん:2011/11/02(水) 19:04:12.40
>>880
ありがとうございます。

>前段階で複数の要素が選択されている場合は、
>next()の返り値はそれぞれの次の要素が選択されていることになります。

next()の返り値はそれぞれの次の要素の
元になる要素の場所がはっきりと理解出来ていないのかもしれません。

これは、クリックされた場所の”.kakusu1”ではないのですよね?
882デフォルトの名無しさん:2011/11/02(水) 21:30:31.27
>>881
$('.kakusu1') だと、すべての要素のうち、classにkakusu1 があるものが選択されます。
そういう意味の選択。jquery セレクタ でググってみよう。
んで、:visibleがつくと、表示されているものに選択肢が減るわけ。
883デフォルトの名無しさん:2011/11/03(木) 19:51:59.46
>>876
>>877

お世話になっております。
<a>ダグに  onClick="return false;" を追加しましたら目的通りの動作をしてくれているようです。
ありがとう御座いました。
884デフォルトの名無しさん:2011/11/04(金) 09:21:43.13
>>882

>んで、:visibleがつくと、表示されているものに選択肢が減るわけ。

あらがとうございます。
表示されているものに限定という意味だったのですか。色々と使えそうですね。
ちょっと、使い方調べてみます。
885デフォルトの名無しさん:2011/11/04(金) 10:52:43.56
>>880
なんか
$('.kakusu1:visible').hide().next().show();
で、うまくいきまいした。
ちゃんと、調べて理解しておこうと思います。
ありがとうございます。
886デフォルトの名無しさん:2011/11/04(金) 11:57:36.18
jQuery 1.7がりりーすされてるね。
887デフォルトの名無しさん:2011/11/04(金) 14:02:56.52
お、変更点は何かしらっと
888デフォルトの名無しさん:2011/11/05(土) 19:06:19.35
collapsibleのサイズがIPHONEのサイズに合わないではみ出る。助けて(´・Д・`)
889デフォルトの名無しさん:2011/11/05(土) 21:55:39.60
質問させてください・・・
slideUpのアニメーション終了後にアラートを出したいのですが、
アニメーションが終わる前にアラートが出てしまいます・・・
アニメーション終了まで待つ方法はあるでしょうか?
ありましたらお教えいただけないでしょうか
よろしくお願いします。
890デフォルトの名無しさん:2011/11/06(日) 00:52:18.11
slideUp( 'fast', function(){ alert( 'hoge' ) });
891デフォルトの名無しさん:2011/11/06(日) 08:24:14.46
jQuery Mobileのスレはない?
ここでおk?

とりあえずAndroidで重くて使えないので困ってます
まだ仕方ないってことか
892デフォルトの名無しさん:2011/11/06(日) 15:48:56.21
jQuery系の話題はこんな板で聞くより人が多いweb制作版で聞いたほうがいいと思うんだよね
本来この板で扱うネタじゃないし
893デフォルトの名無しさん:2011/11/06(日) 22:29:57.50
なるほど、行ってくる
894デフォルトの名無しさん:2011/11/06(日) 23:00:03.56
それじゃ、俺もjavascriptスレで質問してみます
895デフォルトの名無しさん:2011/11/06(日) 23:08:27.57
テーブルの列をDDで移動するようなものってできる?
896デフォルトの名無しさん:2011/11/06(日) 23:13:16.45
>>890
お礼が遅れました
ありがとうございました
897デフォルトの名無しさん:2011/11/07(月) 00:03:57.84
ちなみに、'fast'は省略できる。
898デフォルトの名無しさん:2011/11/07(月) 00:59:23.01
899デフォルトの名無しさん:2011/11/09(水) 01:15:10.49

jQuery(document).ready(function (c) {

  c("html")・・・
});

このreadyなしで c を作ることって可能でしょうか?
ページが表示されてからスプリクトを追加してるのでreadyがあると動作しないのですが
他所から拝借した↑のスプリクトをどう変えたらいいのか・・・


900デフォルトの名無しさん:2011/11/09(水) 01:40:26.55
jQuery(function(c){
 console.log(c);
});

これで等価だったはずだけど何がやりたいの?
そこを書かないとまともな解答は得られないよ

解決方法を自分で考えて、
考えた方法を解決するための方法を質問するよりかは
問題となってる事を質問に添えた方が適切な解答が得られる

901デフォルトの名無しさん:2011/11/09(水) 02:01:10.86
readyのタイミングを逃してるから、その部分が動かねぇってこと?

(function(c) {
 c("html")・・・
})(jQuery);

ってことかね。
902デフォルトの名無しさん:2011/11/09(水) 02:06:56.68
>>900
失礼しました。
Firefoxのアドオンからwebページのスクロールバー付近に付いてくる
ウィンドウを表示させようと考えてます。

jQueryのスプリクトは見つけたのですが
アドオン側では複数のタブがありますのでwindowを指定できるようにしたいのです

素人ながら先ほどの質問の部分だけクリアできれば動作しそうなのですが
こちらの部分でmy_win.documentのように指定することは可能でしょうか?
jQuery(function(c){

});
903デフォルトの名無しさん:2011/11/09(水) 10:29:24.39
GmailやGoogleDocumentのように、データ読み込み中に「NowLoading...」のようなものを表示したいと思っています。
そこで以下のようにコードを書いてみました。

----------------------------------------------------
// 画面に「NowLoading...」のテロップを表示…(1)

// $.ajax()を使用し、データを取ってくる関数…(2)

// 画面の「NowLoading...」のテロップを消去…(3)
----------------------------------------------------
このコードではうまく動かず、トレースしてみたところ
(1)→(2)→(3)と処理されると想定していたところ(1)→(3)→(2)と動いているようです。
(2)の関数の前後にこのような処理を行いたい場合どのようにコーディングすればいいのでしょうか?
904デフォルトの名無しさん:2011/11/09(水) 13:26:18.97
データを表示するタイミングで(3)を行えばいいのでは
905デフォルトの名無しさん:2011/11/09(水) 14:32:09.13
ajaxに渡すパラメータに
beforeSendtとcompleteとかがあるからそれぞれに表示と非表示させるのを入れれば良いよ
906デフォルトの名無しさん:2011/11/09(水) 16:39:06.10
アニメーションやajaxみたいに、非同期でうごくようなのはつまずく人が多いのかな。
907デフォルトの名無しさん:2011/11/09(水) 17:07:12.01
多いとは思うよ
908デフォルトの名無しさん:2011/11/09(水) 18:11:29.46
>>903
$.ajaxのsuccessの中に(3)を書けばいいんじゃない?
909デフォルトの名無しさん:2011/11/09(水) 19:39:52.15
>>902
そういった事がしたいなら
jQuery(my_win.document).ready(function ($){
});
こんな感じになるよ

jQuery(function(c){ });
この書き方がOKなら上に書いてある書き方通るはず
910デフォルトの名無しさん:2011/11/09(水) 22:44:20.87
id="hoge"のdivタグのところに
jQuery("#hoge")とやると
FirefoxではうまくいくけどIEではできませんでした。
idをclassにしてjQuery(".hoge")にしたらIEでもできましたけど
原因は何ですか?
911デフォルトの名無しさん:2011/11/09(水) 22:52:25.58
それだけで原因と聞かれてもなぁ
hogeが二重定義されてたりとかすんじゃないの?
そもそもjqueryとブラウザのバージョン,HTMLぐらいは書け
912903:2011/11/12(土) 00:05:44.73
試してみたところできました!
回答して下さった方々本当にありがとうございました。
913デフォルトの名無しさん:2011/11/12(土) 19:18:31.90
ちなみに $.ajax() で同期的に取得する方法もある。
と、質問者がいなくなってから書いてみたり。

ブロックされちゃうからしないほうがいいんだけどね。
914デフォルトの名無しさん:2011/11/14(月) 13:35:57.94
>>910
これ困ってんの?
915デフォルトの名無しさん:2011/11/14(月) 16:52:30.14
input のname属性にidと同じのを設定してしまうと、
IEではおかしくなるってのがあるけど…jQueryで吸収してしまうはずなんだけどね。
かなり古いjqueryを使ってるとか?

<input name='test' value="1">
<input id='test' value="2">



alert(document.getElementById('test').value);
alert($('#test').val());
916デフォルトの名無しさん:2011/11/15(火) 16:58:54.00
http://5am.jp/jquery/jquery_ui_tabs/
を参考に、
自動で一定時間ごとに切り替わるタブメニューを導入しようと考えております

しかし、タブのメインパネル内にマウスのポインタが存在した場合は自動切り替えをオフにしたいです

流れとしては
インターバル → 一定時間ごとに&change_flag=trueならタブ切り替え
マウスイベント → パネル内に侵入したらchange_flag = false 離れた時 change_flag = true

となるかと思います

具体的には以下のstart()をインターバルで回しております
function start() {
  self.rotation = setInterval(function() {
      / もしマウスがタブの外だった場合
      if( change_flag ){
       t = ++t < self.$tabs.length ? t : 0;
       self.select(t);
      }
  }, ms);
}


そこでどうしてもわからない点をお聞きしたいのですが、
パネルのクラス名が(".hoge")だった場合.hogeに侵入したら(hover?)false,離れたらtrueとchange_flag
に設定するにはどうすればいいでしょうか?
917デフォルトの名無しさん:2011/11/15(火) 18:53:35.14
JQuery ここのあるのなwwwww
知らんかったからWebスレのJAVAScriptスレで聞いてたわwww

918デフォルトの名無しさん:2011/11/16(水) 23:12:06.13
プラグインでよく使われている$.fn.myMethod = function { ... } というのは、
jQueryのプロトタイプに入れてるそうですが、ということは異なるプラグインで
同じ名前のメソッドがあると衝突するんでしょうか?
919デフォルトの名無しさん:2011/11/18(金) 02:56:02.45
あるサイトを参考に<img id="test">として、イメージがクリックされたら
test1という外部関数が実行されるコードを作りました。

$(function(){
$('#test').click(function(){
test1();
});
});

一応、動いていますが、文法的に合っていますか?
920デフォルトの名無しさん:2011/11/18(金) 06:38:31.35
$('#test').click(function(){
test1();
});
こんだけでいいと思うが
921デフォルトの名無しさん:2011/11/18(金) 08:20:07.43
>>919
コンソールでエラーがなければ文法的には正しい

>>920
それだと #test を読み込む前にコードを評価できない
関数を減らしたいなら
http://jsfiddle.net/2AfxR/
922デフォルトの名無しさん:2011/11/18(金) 09:35:40.48
>>921
それするなら
$(document).on('click','#test', test1);

これでよくない?やってる事一緒だし

923921:2011/11/18(金) 09:46:53.84
>>922
その書き方は知らなかった
.live() が統合されたんだな
924デフォルトの名無しさん:2011/11/18(金) 12:46:31.56
>>920>>921>>922
色々なやり方があるのですね。大変参考になりました。
特にjsfieddleにあのような使い方があるのは新鮮でした。
925デフォルトの名無しさん:2011/11/18(金) 13:06:41.10
差集合、和集合を取りたいのですが以下の書き方で問題ありませんか?
試した感じでは一応想定通りに取れているようには見えます。

version1.7
ブラウザ IE6, IE8

// テキストボックスとテキストエリアの集合
var wa = $("input[type=text]").add($("textarea"));
// h1とh2の集合
var sa = $("h1, h2, h3").not($("h2"));

926デフォルトの名無しさん:2011/11/18(金) 13:16:31.17
>>925
和集合、差集合がどこにかかっているのかさっぱりわからん
そもそも、セレクタ上で積集合担っている部分がないように見えるが

// テキストボックスとテキストエリアの集合
var wa = $("input[type=text], textarea");
// h1とh2の集合
var sa = $("h1, h2");
927925:2011/11/18(金) 13:17:13.79
× そもそも、セレクタ上で積集合担っている部分がないように見えるが
○ そもそも、セレクタ上で積集合になっている部分がないように見えるが
928デフォルトの名無しさん:2011/11/18(金) 13:50:22.74
>>926
レスありがとうございます。
私が伺いたいのは、複数の集合(セレクタ)があるときにその和と差を取る場合のjQueryでの書き方です。

今回の例では、
テキストボックスの集合とテキストエリアの集合の和集合、
h1,h2,h3の集合とh2の集合の差集合。

積集合がないとのことですが、
差集合については包含ですがh2の集合が存在していますし、
和集合の場合は積集合の存在は必須ではありません。直和と言えという意味のご指摘であればすみません。


929926:2011/11/18(金) 14:58:47.22
>>928
一つのセレクタで完結できる内容をわざわざ2つに処理を分けている為、「合っているが効率が悪い」が答えとなる
http://jsfiddle.net/kufDf/1/
何か事情があるのかもしれないが、普通はそんな書き方はしない
和集合は ","、差集合は ":not()" で多くの場合は解決できる
930デフォルトの名無しさん:2011/11/18(金) 15:30:04.76
ドキュメントには .not( jQuery object ) のパターンが抜けているけど…
Exampleにはあるのでだいじょうぶかな。
931デフォルトの名無しさん:2011/11/18(金) 15:33:08.52
>>929
そこを突っ込んでやっても仕方が無いんじゃないかな。
たとえば、セレクトするタイミングが違うとか有るんだろうし。
(例では一行で書いてあるけれど)
932デフォルトの名無しさん:2011/11/18(金) 15:36:21.55
>>930
".not( elements )" がそれじゃないか?
http://api.jquery.com/not/
933デフォルトの名無しさん:2011/11/18(金) 15:52:38.06
>>932
DOM elements って書いてあるけど。
.add() のほうは .add( jQuery object ) がわざわざ書いてある。
934デフォルトの名無しさん:2011/11/18(金) 16:58:36.10
925です。
レスいただきましたみなさまありがとうございます。
特に926さんには詳しいレスと実際のサンプルもつけてくださったことに感謝します。

実コードはこれから書くところですが
、931さんのご賢察のとおりで別々の場所で取得したセレクタに対する集合の計算が必要でした。
1ヶ所で書ける部分については926さんのサンプルを活用させていただきます。

また、わからないことがありましたら質問をさせてください。
失礼いたしました。
935デフォルトの名無しさん:2011/11/19(土) 13:09:39.64
jQueryMobile使ったらフォームでIDとパスワードの保存を
iPhoneSafariがしてくれなくなったんだが、原因わかる?
936デフォルトの名無しさん:2011/11/19(土) 14:10:49.35
>>935
俺たちはエスパーじゃない。

少なくともjQueryMobileのバージョンとか使用した機能(ただscriptタグ書いただけってことはないんだろ?)を明らかにしろ。
あとiPhoneMobileはダメだったとあるが他のブラウザ、例えばChromeとかFirefoxで見たらどうなってるんだ?
937デフォルトの名無しさん:2011/11/19(土) 14:13:18.13
>>935
ついでに、こんな記事もあるがあなたの書いたHTMLは正しいのか・・・?
iPhone Safariにてログインフォームでパスワードを記憶してくれるHTMLの法則
ttp://d.hatena.ne.jp/mabots/20100422/1271908023

連投失礼
938デフォルトの名無しさん:2011/11/19(土) 14:17:13.08
エスパーじゃないかもしれないけどいい奴だ
939デフォルトの名無しさん:2011/11/19(土) 15:59:12.30
>936-937
サンクス。あんたならいつかエスパーになれると思う。
940デフォルトの名無しさん:2011/11/19(土) 19:43:13.86
>画面load時にすでにHTMLとして出力されている (JSなどで書き換えないほうがよい)

このへんが怪しいな。
941デフォルトの名無しさん:2011/11/20(日) 12:47:18.82
Geolocation API を使いながら現在地の緯度経度を取得するごとに、GoogleAppEngineのデータストアに書き込みたいのですがどのようにajaxを使用すればいいのでしょうか?初心者です
942デフォルトの名無しさん:2011/11/20(日) 14:57:12.17
>>941
初心者宣言は免罪符じゃなくて私はバカですって表明にしかならんからやめれ。
宿題なら宿題スレいけ。

まじめに質問したいなら使ってるライブラリ、WebAPI、対象ブラウザ、
質問内容のどこまでできていて、どこがわからないのかをきちんと書け。

単純にJavascriptがわからんのか、
Geolocation APIがわからんのか、
GAE周りがわからんのか、
どれなんだよ。

全部とかいうなよ?
943デフォルトの名無しさん:2011/11/20(日) 16:49:53.43
>>942
Ajaxが分かりません、ボタンを使わずにパラメータを送りたいと思っているのですがいかにすればよいのか分からないのです

944デフォルトの名無しさん:2011/11/21(月) 12:32:02.00
>>942
ボタンを使わずにパラメータを送るって、ビーコンでも都バスの?
945デフォルトの名無しさん:2011/11/21(月) 12:33:13.72
上、>>943へのレスです。年取ったな...orz
946デフォルトの名無しさん:2011/11/21(月) 13:46:01.39
geolocation.watchPosition()は定期的に指定したコールバック関数が呼ばれるらしいからその関数内に
POSTかGETするコードを書いて送りたいデータを渡せばいいのでは?
947デフォルトの名無しさん:2011/11/21(月) 16:21:11.98
Jqueryの中身見てみたんだけど、なんであんなに密集しているの。コード容量減らすため?
948デフォルトの名無しさん:2011/11/21(月) 16:34:37.85
中身ってjquery.min.jsとかの中身?
それならコード量だよ
普通に何してるか見たいなら
ttp://code.jquery.com/jquery-1.7.js
これとかみればいいよ
949デフォルトの名無しさん:2011/11/21(月) 19:41:30.07
>>944
ボタンクリック以外のトリガーでイベント発動させたことないの?
950デフォルトの名無しさん:2011/11/21(月) 19:55:02.83
>>948
そういうサイトがあったのか。参考になった。サンクス
そもそもjquery自体バイナリだと思っていたので、ちょっと驚いた。
951デフォルトの名無しさん:2011/11/21(月) 19:59:51.08
ギャグのセンスあるぜオメー
952デフォルトの名無しさん:2011/11/21(月) 20:23:02.43
>>950
サイトというか、>>948のリンクはjQueryそのものだよ。拡張子でわかるよね?
ファイル名にminって付いてるタイプが圧縮版で、コード量を減らして転送量を減らすためのもの。
圧縮については、Googleのトップページとかもそうなってるよ。
953デフォルトの名無しさん:2011/11/22(火) 12:23:59.36
jQueryを使っているけれど、それ以外のコードを自分で書いたjavascriptの著作権は、その人に属するってことでイイでしょうか??
954デフォルトの名無しさん:2011/11/22(火) 12:29:41.98
>>953
自分で作った部分は自分の物だろうけど・・・
jQuery自体はMITライセンス
jQueryの中の著作権表示だけ改変せず残しておけばOKなんじゃない?
955デフォルトの名無しさん:2011/11/23(水) 22:02:06.70
divタグをクリックするとそのdivタグの背景色が変わり、
そのdivタグの中のaタグのリンクをクリックした場合は変わらないようにしたいのですが、どうしたらいいでしょうか

$("div")..click(function() {
 $(this).css("background-color", "yellow");
});
956デフォルトの名無しさん:2011/11/23(水) 23:35:41.44
$("div").click(function(event) {
if(event.target===event.currentTarget)$(this).css("background-color", "yellow");
});
とか
$("div").click(function(event) {
if(event.target===this)$(this).css("background-color", "yellow");
});
とか?
957デフォルトの名無しさん:2011/11/24(木) 02:12:28.08
>>956
それはdiv要素の中にa要素しかない場合限定だよね
if (event.target.tagName === 'A') return;
がいいと思う
958デフォルトの名無しさん:2011/11/24(木) 11:40:52.29
>>956-957
ありがとうございます
解決できました
959デフォルトの名無しさん:2011/11/25(金) 08:57:11.52
jQuipってどうなんでしょうか・・・
960デフォルトの名無しさん:2011/11/26(土) 23:26:27.71
わずか30Kバイト。キャッシュが有効ならほぼ0Kバイト
その転送量が惜しいと思った時使えばいいんじゃないですか?
961デフォルトの名無しさん:2011/11/27(日) 01:00:29.23
ソースコードを読んでみようず
962デフォルトの名無しさん:2011/11/28(月) 02:07:51.05
>>959
ウィルコム用サイトには必須
963デフォルトの名無しさん:2011/11/28(月) 21:22:19.48
ん? どういう理由で?
964デフォルトの名無しさん:2011/11/29(火) 19:24:41.35
jquerymobileについてなんですが、
リスト表示が重ったるくて軽くする方法を調べたんですが

if ( attachEvents ) {
attachEvents();
}
を無効にするとホバーしなくて軽くなることは分かったんですが

min.jsの方だと、その項目が見当たらないのですが、
minの方だったら、どうしたらホバーさせないようにできるのでしょうか?
965デフォルトの名無しさん:2011/11/30(水) 16:54:06.87
d&&d(); かな。

jsfiddleとかで、整形しなおすと割とわかる。
ほんとは、Uncompressedのほうを直して、ビルドしなおすほうがいいんだろうけれど。
966デフォルトの名無しさん:2011/12/01(木) 13:49:57.12
jQuery plugin for parsing metadataでiframeにPDF埋め込んでいます
埋め込んでからロードされるまで時間が有りますが、
ロードが完了しているかどうかをjsから取得する方法は有りますでしょうか?

表示完了後でないとフォームにフォーカスが移動出来ないのですが
タイマーで移動だとロード時間に環境差が有るので上手くいきません
967デフォルトの名無しさん:2011/12/03(土) 15:23:40.42
.trigger()の使いどころってどんなのがあるんでしょうか。ドキュメントのサンプルをみても、
.tigger('click')は.click()と同じ動作でした。コールバックに引数渡せるようなので、そこだけでしょうか?
968デフォルトの名無しさん:2011/12/03(土) 15:30:01.07
serializeした内容をjson形式に変換したいんですがどうすればできますか?
どなたか教えて下さい
よろしくお願いします
969デフォルトの名無しさん:2011/12/03(土) 15:59:47.76
>>967
http://api.jquery.com/trigger/
公式サイトのドキュメントを見た?ちゃんと書いてあるよ
英文を読まなくてもサンプルコードを見るだけでもなんとなくわかるよ

> $('#foo').bind('custom', function(event, param1, param2) {
> alert(param1 + "\n" + param2);
> });
> $('#foo').trigger('custom', ['Custom', 'Event']);
970デフォルトの名無しさん:2011/12/03(土) 16:10:38.23
>>968
var json = JSON.parse(data);
971デフォルトの名無しさん:2011/12/03(土) 16:42:18.11
>>970
あざす
972デフォルトの名無しさん:2011/12/03(土) 22:12:12.72
あじゃっくす
973デフォルトの名無しさん:2011/12/04(日) 13:29:42.26
>>970
すいません試してみたらうまくいかなかったです・・・orz

どなたかajaxFileUploadにパラメータとしてserializeしたデータを送信する方法
教えて下さいませんか?
よろしくお願いします。
974デフォルトの名無しさん:2011/12/04(日) 14:08:46.85
あまのじゃくっす
975デフォルトの名無しさん:2011/12/04(日) 15:26:17.78
>>973
IE8以下ならJSONがなくてエラーになるだろうね
http://api.jquery.com/jQuery.parseJSON/
976デフォルトの名無しさん:2011/12/04(日) 20:39:42.38
すみません、質問させてください・・・

動的にタグを追加してるのですが、
その追加されたタグへイベントを登録したいのですが・・・
こんな場合、liveを使うと本を読んで知っているのですが、
しかし、追加しようとしているイベントは別で追加したjQueryライブラリでして・・・

こういう標準のイベント以外を動的に追加するにはどうすればいいでしょうか
977デフォルトの名無しさん:2011/12/04(日) 21:07:42.66
1.7では、live or bind or なんとかではなくonを使う
978976:2011/12/04(日) 22:10:37.05
>>977
ありがとうございます。
liveから変わったのですね、今度から動的に追加したタグへのイベントはonを使う事にします。

・・・が、今回の件ではonでは解決できませんでした・・・
onでも、追加できるイベントはclickとか標準的な物だけですよね?
追加したいのは、追加で読み込んでいるjQueryライブラリのイベントなので・・・
なので、動的にタグを追加した直後にイベント登録するようにして問題を解決しました・・・

js内でjavascript標準関数で外部ライブラリを読み込む関数ってないですよね・・・
なのでjs内で標準関数以外の関数使ったりすると見通しが悪くなるし気持ち悪いので嫌なのですがしょうがないのかな・・・
write使って読み込む方法は知ってますが、これもどうも気持ち悪いし多重で読み込みしてしまう可能性もありますよね・・・
979デフォルトの名無しさん:2011/12/05(月) 01:20:28.12
>>975
以下じゃなくて未満な
980デフォルトの名無しさん:2011/12/05(月) 03:00:40.23
>>979
IE8でも使えたのか…
981デフォルトの名無しさん:2011/12/05(月) 18:26:51.24
jQuery Mobileめっちゃ重い
一部の機能だけ抜き出して軽量化したライブラリとかない?
982デフォルトの名無しさん:2011/12/05(月) 20:10:35.06
>>981
jQuery Mobileがお勧め
983デフォルトの名無しさん:2011/12/05(月) 21:46:39.90
重いってファイルサイズのこと? 12KBしかないんだが。
動作が重いって話なら一部の機能を抜き出した所で軽くはならないぞ。
それにたいていは書き方が悪いから遅くなってるだけ。
つまり自分の問題。
984デフォルトの名無しさん:2011/12/05(月) 22:03:02.55
ああ、重いってのは動作のことです、Androidだとアニメーションがカクカク
書き方って、サンプル動かしてるだけなんだが
985デフォルトの名無しさん:2011/12/05(月) 23:08:28.22
DatePickerについて質問です。

from と to 2つのinputを設け、
入力された日付の差(to - from)によって別のテキストを出そうとしていますが上手くいかず…
2つのinputの値を変数に組み込みたいのですが、どう呼び出せばいいのでしょうか?
解る方たすけてください rz
986デフォルトの名無しさん:2011/12/06(火) 01:14:05.02
一度付与したanimateを削除する方法を教えてください。

$("#target").click(function() {
$($.browser.safari ? 'body' : 'html').animate({scrollTop:position}, speed, 'swing');
}

こんな感じでスムーススクロールの処理をバインドし、別なイベント時にこれをunbindしたいのですが、
うまくいきません。

$("#target").onclickに対するfunctionはunbindできても、bodyまたはhtmlに付与された
animateは残っているようで、次に上記処理を呼ぶと、スムーススクロールの処理が重複してしまいます。

987デフォルトの名無しさん
>>985ですが弄くってたら事故解決しました!
失礼しました。