1 :デフォルトの名無しさん2008/12/22(月) 02:45:48
¥マークなどの特殊な文字列について質問させてください。

<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週間程度です。
6 :デフォルトの名無しさん2008/12/22(月) 13:15:21
>>1

2chは初めてですか?
少しは調べてから書きましょう
666 :デフォルトの名無しさん2011/05/23(月) 06:44:05.13
jQuery歴2週間の>>1が単発質問で立てたスレだし、当初から板違いの指摘がある。
もったいないから使ってるだけ。
次スレはWEB制作板でもWebProg板でも移動させたらいい。
3 :デフォルトの名無しさん2008/12/22(月) 03:58:58
このスレッドは天才チンパンジー「アイちゃん」が
言語訓練のために立てたものです。

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

                  京都大学霊長類研究所

4 :デフォルトの名無しさん2008/12/22(月) 10:29:42
アイちゃんの言語野はまじパネェけど
前頭連合野が未発達なのが惜しい
とはいえ、チンパンジーがjQueryの質問を自発的に行うということが
何か新しい可能性を感じさせる
これは良スレになる予感
5 :デフォルトの名無しさん2008/12/22(月) 10:40:59
ジェイキューエルィwww
ピロトティペテンジェイエス使えよ素人www
9 :デフォルトの名無しさん2008/12/22(月) 16:22:21
aQueryからきちんと順を追ってやったのかな?
いきなりjQueryは中級者以上じゃないと難しいだろ
14 :デフォルトの名無しさん2009/01/11(日) 22:45:24
jqueryの質問OKとのことなので質問します。

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

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

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

ありがとうございました。
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に値を代入してもエラーになるだけ。
それに、そんなことができたとしてもコードの実行順序からして意味がない。
これぐらい普通小学校で習っただろ!困ったちゃんだなまったくもう。
26 :242009/01/31(土) 11:38:24
>>25
そうですよね。>実行順序

他言語の参照渡しや、遅延評価的な仕組みで取得する方法はありませんか?
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あたりで追った方がラクだと思うよ
33 :デフォルトの名無しさん2009/06/29(月) 15:04:41
<li> をドラッグ&ソートするプラグインはいくつかありますが、
<table> の <tr> 単位でドラッグしてソートできるプラグインはありませんか?
35 :342009/07/17(金) 02:19:00
自己解決しました。

ドキュメントにjQueryのエイリアスと書いてありました。
http://docs.jquery.com/Using_jQuery_with_Other_Libraries
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です。

なんでだろ他でポカやってんのかな…
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内の処理を行いたくないのです。
できるのでしたらお教えいただけると幸いです。
よろしくお願いします。
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() やると、
読み込みに随分時間がかかるんですが、
何か回避策はないものでしょうか?
52 :デフォルトの名無しさん2009/09/28(月) 16:54:19
サーバーサイドで実行できるjqueryのオープンソース phpquery

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

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

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のような質問はないだろうと踏んだんだが?
俺が質問の意図を読めてないのか?もしかして
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をセレクタにするのと同じことを冗長にして
重くなっただけじゃないのか?
59 :デフォルトの名無しさん2009/10/06(火) 04:52:10
渡しのためにケンカは止めて!><

ボタンを押すだろ?そうするとそのボタンに応じた反応をさせたいだろ?
で、そのボタンの反応が似たり寄ったりだったら関数化したいだろ?
つまり押したボタンに応じて関数に渡す変数を変えて、それで挙動を変えたいんですわ
このボタンクリックしたらフォームにほげが、このボタンクリックしたらフォームにふがが、みたいな感じで
だけどjQueryのクリックイベントだと渡しようがなくね?という疑問です
普通に onclick使うもん?
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はなんでそんなに頭悪いの?
68 :642009/10/06(火) 19:53:39
>>65
ちゃんと突っ込んでくれるか?
何が言いたいのかわからん
72 :デフォルトの名無しさん2009/10/07(水) 09:34:32
何言ってんの?自分の説明力とjqueryの知識が足らなすぎって気付きなよ

>俺は単純にバインドした関数に1とか2とかhogeみたいな引数を渡したいんだよ
渡す値はボタンのHTML(付近)に書くのか?
だったら>>64の書き方でいいだろ
それで無理なんだったら、無理な理由をかけ。
情報小出しうぜーけど、情報出さずにごちゃごちゃいうよりはましだ
74 :デフォルトの名無しさん2009/10/07(水) 10:28:59
>>72
いや、お前も十分知識足りないんじゃないか?
どっちもどっちだと思うぞ。
75 :デフォルトの名無しさん2009/10/07(水) 10:40:40
>>74
具体的に言わないなら黙ってろ屑が
76 :デフォルトの名無しさん2009/10/07(水) 11:29:02
>>74
だったらあんたが答えてあげればいい話じゃん
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に適当なプリフィクス付けて入れるとか面倒な方法しか
俺には浮かばない。
67 :デフォルトの名無しさん2009/10/06(火) 19:33:19
質問する前に少しは考えるなり調べるなりしろよ・・・
検索すればすぐにわかるんだろそんなこと
69 :デフォルトの名無しさん2009/10/07(水) 00:33:07
jsとhtmlがほぼ分離されてる
サーバーから吐くhtmlの中にonclickで起動するボタンやらリンクらやがあり、その呼び出される関数の引数は動的に変わる
この状態でjQueryを導入したいと考えた場合、onclickの変わりにどのような動作をさせるのが普通なのか
84 :デフォルトの名無しさん2009/10/07(水) 17:35:47
>onclickの変わりにどのような動作をさせるのが普通なのか
って>>69にあるのな。
普通かどうかはわからないけど、俺はいつも80みたいな方法でやってる。
ほかに方法があるなら俺も聞きたいな。
71 :デフォルトの名無しさん2009/10/07(水) 04:00:35
だって56じゃできねーもんよ
id毎に挙動変えますってだけじゃん
無限の可能性記述しろってこと?

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

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

ばーかもうこねぇよ
79 :デフォルトの名無しさん2009/10/07(水) 14:43:15
>>71

>気軽に書いた
あんんたの気軽さのせいで回答者がいろんなパターンで補わなきゃいけないんだけど?
できる限り具体的に明確に示そうよ質問者さん。
73 :デフォルトの名無しさん2009/10/07(水) 09:36:59
>調べた感じでは出来ないっぽい
とか言ってる時点で頭おかしい
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関係ないな。
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('{何かキー名を}')で取得する。
85 :デフォルトの名無しさん2009/10/15(木) 02:25:27
jqueryの参考本でオススメてありますか?
近所に本屋がないど田舎なんで感想とか聞けるとありがたいです
アマゾンもレヴューはまだあんまりありませんでした。
86 :デフォルトの名無しさん2009/10/15(木) 02:30:42
田舎もんはウェブなんてやらず畑耕してればいい。
88 :デフォルトの名無しさん2009/10/15(木) 18:33:26
>>86
んじゃ、あんたが俺の代わりにサイト作ってくれやw
俺はweb屋じゃないんだ。上司がどこで知ったか知らんがjqueryとかajaxを使って
突然会社のサイト作れとか言ってきたんだよホームページビルダー買って
やるからとか言ってな。

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

94 :デフォルトの名無しさん2009/11/06(金) 12:39:30
>>91
jQuery in Action にどんな不満が?
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して画面遷移をさせたいです。

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

並べ替えは動作するんですが、その順番をcookieに保存しておいて、
次に表示した時に、cookie を読み込んで、最初からその順番で表示したいんですが…
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回鳴るのが難点?
140 :デフォルトの名無しさん2010/04/11(日) 16:43:43
>>95 でも書いたんですが、sortable で最初から並び替えておく良い方法は無いでしょうか?
141 :デフォルトの名無しさん2010/04/11(日) 19:50:21
>>140
キーを順番に
5,2,3,1,4
とかしてcookieに保存すればいいじゃない
96 :デフォルトの名無しさん2009/11/14(土) 23:19:51
tooltipのプラグインなんだが
ttp://craigsworks.com/projects/simpletip/
Firebugで見てみたら<a>タグの間に<div>タグとか入れてるみたいなんだが
そういうのっていいの?aのなかにdivとかspanの中にdivとか
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でも駄目。
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() でしているのですが・・・。
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させればいいのかわかりません。
教えてください。二百円あげます。
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をチェックしてダウンロードできるファイルで
すべて事足りる。
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');

でいけるんじゃないか

119 :1172010/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
123 :1202010/03/25(木) 10:39:45
>>121

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


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

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

つきあってくれて、ありがと
126 :デフォルトの名無しさん2010/03/26(金) 11:53:46
>>122
サンクス
それでいけた

>>123
スマス、安価はミスです
122 :デフォルトの名無しさん2010/03/25(木) 09:36:01
セレクタで書けないなら、.add() で追加するとか
125 :デフォルトの名無しさん2010/03/26(金) 10:35:16
Google AJAX APIからjQuery本体とJquery UIを取ってきて、プラグインはローカルから読み込ませる、ということは可能でしょうか?
どうも、単純に「<script src="http://www.google.com/jsapi"></script>」の下にローカルからの読み込みを記述してもダメなようです。
134 :1252010/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'); 便利
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;
なんかで可能なのかとおもい、試して見ましたがうまく動きません
129 :1282010/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を関数に送ってそれを処理って感じです。
136 :デフォルトの名無しさん2010/04/11(日) 14:27:21
$('#aaa').append("hoge");
これ($('#aaa'))を初期化したいのですが、どうすればよいですか?
138 :デフォルトの名無しさん2010/04/11(日) 15:09:10
最近はjQueryの入門書みたいなのが何冊か出てるから、それ読んでからプログラミング
したほうが効率がいいんじゃないかな。
139 :デフォルトの名無しさん2010/04/11(日) 15:16:36
― ソ Ы 噂 浬 欺 圭 構 蚕 十 申 曾 箪 貼 能 表 暴 予 禄
兔 喀 媾 彌 拿 杤 歃 濬 畚 秉 綵 臀 藹 觸 軆 鐔 饅 鷭
142 :デフォルトの名無しさん2010/04/11(日) 20:15:15
jQueryで表示した<div>要素をクリックして、clickイベントで拾う事はできないのでしょうか?
HTMLに直接書いたものだと機能したのですが・・・
144 :デフォルトの名無しさん2010/04/12(月) 21:50:54
>>142
.live("イベント",こーるばっく)
145 :デフォルトの名無しさん2010/04/12(月) 23:17:30
>>144
jQueryすげーな
143 :デフォルトの名無しさん2010/04/12(月) 13:11:54
遅レスだけど、1人くらい、誰かの役に立つかもしれんので貼っとくね。
ttp://koexuka.blogspot.com/2009/07/jquery.html
カレンダーの日付をクリック
 →dialogでスケジュール確認・変更
キーワードをクリック
 →wikipediaの結果表示
とか
jqueryのおかげで、かなりの部分をAS3コンパイル(書き出し)をしなくて済むようになった。
146 :デフォルトの名無しさん2010/04/19(月) 10:51:19
「もっとみる」とか「元に戻す」リンクで
テキストを表示させたり隠したりを楽にできるプラグインってないですかねぇ?
http://plugins.learningjquery.com/expander/
ここの使ってみたんですけど、どうにも使いにくくて。
なんか他にオススメあったら教えて欲しいです。
147 :デフォルトの名無しさん2010/04/19(月) 20:17:15
http://wata04.blog21.fc2.com/
このサイト結構面白いこと書いてくれる

こういうメニューバーいいなぁ
150 :デフォルトの名無しさん2010/04/22(木) 01:58:16
>>147
宣伝すぎるだろw
前にJavaScriptスレにあった「Web3.0がくるんでしょうか」で締めた宣伝レス思い出したわw
もっとがんばってから宣伝しろよ
148 :デフォルトの名無しさん2010/04/20(火) 20:31:45
ほかのサイトRSSとかXML取得していろいろやりたいんやけど
クロスドメインはダメってことで何もできん…
JSONに変換するのも面倒やし。
みんなどうやってXMLゲットしてますか?
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をブラウザで見たらローカルのファイルを見れてるだけ。
153 :1512010/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はセキュリティポリシーでローカルファイルへのアクセスを禁止してるからね
検索すると結構出てくると思う
156 :1512010/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
機能は申し分ないけど、少々重い
162 :デフォルトの名無しさん2010/06/03(木) 01:58:52
158 :デフォルトの名無しさん2010/05/30(日) 04:04:47
これってそこかしこにサンプル転がってるけど
競合ってするの?めぼしい物を入れていこうと思ってるんだけどさ
160 :デフォルトの名無しさん2010/06/02(水) 17:09:54
>>159
$の衝突は回避できても>>158が想像してるのはプラグインのnamespaceだから衝突しそうじゃね?
159 :デフォルトの名無しさん2010/05/31(月) 14:07:01
$が重複しそうなときには回避できる
詳しくはぐぐれ
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")も実行されないんです。(ダイアログが何もでない)

何か思い当たる節がある方教えていただけると幸いです。
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を追加したい場合のやり方あったら教えて頂きたく><
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>
176 :デフォルトの名無しさん2010/06/21(月) 16:51:00
>>174
それ、何かの回答のつもりなのかにゃ?
171 :デフォルトの名無しさん2010/06/18(金) 20:47:03
このサイトの動きをjQueryで実現したいんだけど
どこかにライブラリないですか?
ttp://ito-naika.net/
172 :デフォルトの名無しさん2010/06/18(金) 21:09:13
>>171
マルチ乙
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作ろうとしたら頭が死にかけた・・・
184 :デフォルトの名無しさん2010/06/26(土) 07:21:35
jquery.tmpl.js
の最新にrenderが存在しないのは何故ですか?
これで1日潰れました
186 :デフォルトの名無しさん2010/06/29(火) 18:37:02
$(".op").live("click", function(){
event.stopPropagation();
});
liveだとeventが取得できないんですが、どうすれば良いですか?
189 :デフォルトの名無しさん2010/06/30(水) 08:42:05
>>186
$(".op").live("click", function(event){
event.stopPropagation();
});
191 :デフォルトの名無しさん2010/06/30(水) 14:34:12
>>189
動きました。ありがとう。
htmlのタグの構成が間違ってました。
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");
190 :1872010/06/30(水) 09:41:15
>>188
おおお・・・ありがとう
うちに来て妹とファックしてください
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], ...
196 :1872010/07/01(木) 14:25:25
>>192
まさにそのくらいになってたからちょっと改良しなきゃなと
思ってたところだった。ありがとう。
193 :デフォルトの名無しさん2010/06/30(水) 17:32:41
レキシカル変数って言うんですかそれ?
覚えたてでよく分からないです
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");
とかで変更できました。
204 :デフォルトの名無しさん2010/07/02(金) 22:10:53
$.ajaxで
ノードが読み込まれてから処理したい場合は
どう書けば良いですか?
206 :デフォルトの名無しさん2010/07/03(土) 00:05:09
>>204
ごめん、意味がよくわからない。

$("#node").ready(function(){
 //こういうこと?
 $.ajax({
 complete: function(xhr) {
  //それとも、こういうこと?
  consolen.log(xhr.responseXML);
 });
});
205 :デフォルトの名無しさん2010/07/02(金) 22:52:46
ノードが読み込まれてからっていうか
DOMが構築されてから処理を進めたい場合です
207 :デフォルトの名無しさん2010/07/03(土) 00:59:12
具体的にはhtmlを読み込み終わってから読み込んだ部分の高さを取得したいんだが
画像を読込前の高さが取得されてしまいます。
209 :デフォルトの名無しさん2010/07/03(土) 01:03:26
>>207
あなたが求めている方法は、多分これだと思う。
ttp://dogmap.jp/2009/06/17/javascript-image-natural-size-2/
208 :デフォルトの名無しさん2010/07/03(土) 01:02:03
async:false
にするとかなりマシにはなるのですが、まだ稀に構築されてません。
215 :デフォルトの名無しさん2010/07/03(土) 04:39:15
両方使わないと重い
重いサーバーのデータを持ってくると画像表示が間に合わない
216 :デフォルトの名無しさん2010/07/03(土) 11:18:21
プラグインの方は要らなかったみたい
サーバー別の待ち時間をデータベースに落いて
待ち時間を変化させないといけないかも。
217 :デフォルトの名無しさん2010/07/03(土) 14:11:07
プリロードしといて、
そっちのload確認してから
仕事すればいいんじゃないの?
219 :デフォルトの名無しさん2010/07/03(土) 19:06:57
>>217
やってみたけど、completeにならない画像もあるので永久に終わらなくなった
アクセス解析用の埋め込み画像とかだと思う
218 :デフォルトの名無しさん2010/07/03(土) 18:19:46
フレームから他のフレーム内にある要素の値を書き換えるとき
parent.hoge.document.getElementById('piyo').value='うんこ';
みたいなことをしているんだけど
これをjQueryの流儀でかっこうよく書くにはどうしたらいいか
220 :2182010/07/03(土) 19:19:22
$(parent.hoge).find('#piyo').val('うんこ');
とやってみたけど駄目だった。
うまく行きそうだと思ったんだけどなぁ
221 :デフォルトの名無しさん2010/07/03(土) 21:38:02
やっぱり、500ミリ秒待たないと画像の高さが反映されない
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ではきちんとダイアログとして表示されました。
どなたか対策のわかる方はいませんでしょうか?

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

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

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

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

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

という処理をしたいんだけど、どうやればいいかな?
everyTimeとeffect("highlight")を組み合わせてみたんだけど、どうもうまく動かない・・・。
仕掛ければいいのはli? それとも別にdivやspan入れて、それにeffect仕掛ければいいのかな?
243 :2422010/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で投げて日付をチェック、書き込みがなかったら無視」で
246 :2442010/09/02(木) 11:00:06
>>245
失礼、見逃してました。
が・・・やはりそっち(ピックアップ後の処理)になりますか・・・。
無視するにしても、出来ればdatepickerを閉じさせたくないんですよね。
onSelectイベントの中でdatepickerを閉じるのをキャンセルさせるのか可能でしょうか?
248 :2442010/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から引っ張ってこなければならなかったのがちょっと難しかったですね。
260 :2482010/09/20(月) 18:38:47
>>259
人に教えられるほどの知識はありませんが・・・。
>>248を少し変えれば動きませんか?

具体的には、範囲の開始日を入れるinputをα、終了日を入れるinputをβとして、(4)を
 4-a 一回目のピックアップだったら(αとβが両方とも未入力だったら)ピックアップした日付をαにいれてそのまま
 4-b 二回目のピックアップだったら(αに入っていてβが未入力だったら)ピックアップした日付をβにいれて自分をhide
という感じではどうでしょう? 実験はしていないので、もし動かなかったらゴメンナサイ(汗
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にするだけでできるようだったので設定変えるだけでできるのかと思い質問させていただきました。
264 :2482010/09/22(水) 00:27:26
>>263
カラッポのDIVでずれちゃうようなタイトなレイアウトだと、確かに難しいかもしれませんね。
そういう話になってしまうと「本家のリファレンスを参照」としかいえません。
パっと見ではちょっとムリそうですが・・・お役に立てず申し訳ありません。
247 :デフォルトの名無しさん2010/09/02(木) 18:34:52
slideupして要素が画面から消えたら文章を書き換えてそれをslidedownして表示、といったことを行いたいのですが、うまくいきません。
どのように記述したらいいのでしょうか?
タブを用いた画面の切り替えに使いたいと考えています。
よろしくお願いします。
249 :すいません><2010/09/06(月) 12:01:46
大変くだらない質問で恐縮ですが、どなたか教えていただけないでしょうか?
offset()を使用して要素の位置を取得したいのですが、select要素だけ取得できません。
どなたか対応策をお願いします。><
教えてくんです。すんまそん。
253 :デフォルトの名無しさん2010/09/13(月) 21:31:51
リンクをクリックしたらイベントっていう風に記述してるんだが、クリックするたびに表示が先頭に戻ってしまう。
なんとかならないの?
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でやってるの見たんですけどどこだったかわからなくなってしまって…
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 />");
等と書いてみましたが、無理でした。
偉い人、よろしければご教授下さい。お願いします。
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
が良さそうです
267 :2652010/09/23(木) 02:24:39
>>266
先ほど確認したら jquery.timepickr.js はデモサイトでIE8でも動いていていました(なんでだ?)
jquery.timepickr.js を導入しようと思い

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

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

ダウンロードしたアーカイブ中のどのjs/cssを具体的に使用すれば正常に
デモのように動くかどなたかご存知ないでしょうか?
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>
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は詰められないって分かってる?
278 :2722010/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")
281 :デフォルトの名無しさん2010/10/21(木) 17:48:48
半分寝てましたw

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

これでクリックイベントが起きるので、それに関連付けたファンクションが
定義されていれば、そのファンクションが実行されると思います。
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の値が重複することはあってはならない
293 :デフォルトの名無しさん2010/10/23(土) 02:04:37
>>291
> HTMLを勉強しなおせ
> IDの値が重複することはあってはならない

まああえて擁護すれば、複数のページに同じjsを当ててて
このページではdiv#hage>div#hoge>div#mogeがあるけど
別のページではdiv#hageの内部にはないので、そのときは
jqueryを効かせたくない、というパターンはあるのであろう
292 :デフォルトの名無しさん2010/10/23(土) 00:45:03
>#hogeの下の#hageの下の#mogeのtextといった意味で

これは意味のあることなの?
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
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
言いたいことは解る。
数人〜十数人規模の中小企業を何社か渡り歩いたが、
そこまでレベルの低い現場は見たことないな・・・専門学校生でも雇ってるの?
もしかして開発会社じゃなくて、火消し専門の運営会社なんじゃね?
309 :デフォルトの名無しさん2010/10/25(月) 23:39:50
>>307
良い環境ばかり渡り歩いたんだね。
テラウラヤマシス

世間には、ブラックばかりを渡り歩く
悲しい人間もいることを、
時には思い出してやってください。。。
今のご時世、仕事選んでなんかいられないの。。。orz
308 :デフォルトの名無しさん2010/10/25(月) 22:10:53
POSTとGETの違いがわかりません><
絶対パスと相対パスがわかりません><
文字コードがわかりません><
CSSって何ですか!?><
id属性は重複しちゃいけないんですか!?><
jQueryいれれば全部解決なんです?><

え?常識?何いってるんですか、そんな厳密な仕様調べる余裕普通はないです><;;;
311 :デフォルトの名無しさん2010/10/27(水) 12:44:53
ブラックしか行けない人ってのは、自分のスキルが無い事を自覚した方がいい・・・
314 :デフォルトの名無しさん2010/10/27(水) 21:42:09
each(function(){
...
});
みたいなコード3個以上書いてると、
Rubyのブロックがセンスのいい構文だったんだなって気づく
317 :デフォルトの名無しさん2010/10/28(木) 10:10:09
>>314
そして値とインデックスを受けとろうと
function(value, index) と書いてハマる罠。
315 :デフォルトの名無しさん2010/10/27(水) 23:11:42
eachって、遅いんでしょ?
forのほうが早いって、死んだ婆ちゃんが言ってた。
316 :デフォルトの名無しさん2010/10/27(水) 23:49:51
jQuery.each の事言ってるんじゃないの?forとは使う場面が異なる気が・・・
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() と一緒
関数を読んでいる
322 :デフォルトの名無しさん2010/10/29(金) 12:32:48
変数名に$をつけるのは、それがjQueryオブジェクトだと認識しやすくする為。
326 :3192010/10/29(金) 20:47:35
>>320>>322
ありがとうございます。

いまいち理解できません。。。
jQueryの動作原理をよく理解せずに使ってることが
そもそもダメっぽいです。
基礎の基礎をやりなおしてきます。
328 :デフォルトの名無しさん2010/10/30(土) 13:18:09
>>322
なるほど!
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側の仕様なのかなぁ

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

の意味がよくわらかんのだが、$(function() { ... });が実行されないという事?
343 :デフォルトの名無しさん2010/11/04(木) 12:27:19
>>325
>>327
遅レスだが大変参考になりました
ありがとうございます

>>324
基礎知識がないからかうまく説明できないのだけど
サンプルで書いたコードを実行しても
$("#change").click(function(){
の部分が実行されなくて困ってました
わかりづらくてスマソ
325 :デフォルトの名無しさん2010/10/29(金) 20:12:23
live使えば? idが変わっても動くかどうかわからないけど。
329 :デフォルトの名無しさん2010/10/30(土) 15:04:34
>変数名に$をつけるのは、それがjQueryオブジェクトだと認識しやすくする為。

認識「しやすい」っていうのは抽象的というか曖昧だね。
認識「しにくい」場合ってあるの?
prototypeとか他のライブラリと被ったりする場合?
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はしっかりしてると思うよ。
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()
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()を取る方法って
ありますか?
352 :デフォルトの名無しさん2010/11/16(火) 05:42:33
>>351
単純に上手く行かなかったから知りたいだけじゃない?

>>350
バージョン何?jQuery1.4.3と1.4.4+Mac Firefox3.5、chrome9でとりあえず試してみたけど上手くいったよ?
351 :デフォルトの名無しさん2010/11/15(月) 14:35:35
どういう目的でfindを使おうとしてるのかわからない。
普通にこれじゃダメなの?

var fooValue = $('input#foo').val();
353 :1/22010/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を読み込んだところ、表の外枠は表示されるのですが中身のデータが表示されません。
359 :デフォルトの名無しさん2010/11/18(木) 08:44:21
JSONは、>>353のほうでしょ
360 :デフォルトの名無しさん2010/11/18(木) 08:50:27
>>359
おっと、アンカー間違えた。>>353な
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"]}
]
}
354 :1/22010/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としてファイルを読み込んでいます。
358 :デフォルトの名無しさん2010/11/18(木) 08:30:14
>>354
そもそも、これJSON形式じゃなくね?
357 :デフォルトの名無しさん2010/11/17(水) 12:42:27
flexigrid.jsの414行目

data.rows,



data.row,

にしたら表示されましたが他が原因だったらゴメン
361 :デフォルトの名無しさん2010/11/18(木) 09:36:55
こっちの勉強不足かもしらんが、JSONに見える

そうでない点を教えてくれるとありがたい
362 :デフォルトの名無しさん2010/11/18(木) 09:49:06
形式としては JSON ということで間違いないけど
jQuery が期待している JSON ではないということだ
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(){
//通信が終わる前にこっちが呼び出される
}
367 :デフォルトの名無しさん2010/11/27(土) 13:12:38
makeData(); を
jQuery.ajax({
  (略)
ここに通信完了後の処理を書く場所がある
});
の中に書く
368 :デフォルトの名無しさん2010/11/28(日) 02:40:07
はじめまして。ご教示願いたいです。
appendを使ってHTMLにタグを挿入した後に、findを使うとappendで生成されたタグが検索対象に含まれません。
どの様にすればappendしたタグをfindの検索対象に含める事ができますかね。
よろしくお願い致します。
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>

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
だって、リファレンスで見つけられなかったんだもん
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/
378 :デフォルトの名無しさん2010/12/05(日) 23:33:24
IE6以上から動きます。

2001年という10年前のブラウザでも
JQueryがまともに動くのだからすごいとしか
言いようがありません。
384 :デフォルトの名無しさん2010/12/12(日) 01:49:53
jQueryで追加したHTML要素を、すべて元に戻すAPIってないですか。
1つずつ.remove()で消す、追加するHTMLに共通のclassをつけておいて.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を何回書いても一回しか実行されないのは確かだ
391 :デフォルトの名無しさん2010/12/15(水) 04:43:08
jquery-opacity-rollover.js
というプラグインを使っています
既存のhttpページで問題なく使えていたものが
httpsのページではエラーを吐いてしまいます

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

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

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

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

>>394
https+jquery、SSL+jqueryでぐぐってみましたが…
関連ワードの選定がおかしい?
399 :デフォルトの名無しさん2010/12/16(木) 01:31:33
>>391
httpのページではjQueryを読み込むscriptたぐあるけどhttpsのページではないってオチじゃないの?
jquery-opacity-rollover.jsの前にちゃんと読み込んでんの?
392 :デフォルトの名無しさん2010/12/15(水) 06:53:51
$がjQueryのエイリアスなんじゃないの
396 :デフォルトの名無しさん2010/12/15(水) 14:53:50
>他の読み込んでいる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>
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ファイル分やれば全部書かれると思うけど
それだとダメなの?
405 :デフォルトの名無しさん2010/12/21(火) 14:34:47
ここで質問ですが、これら複数のJSONファイルをマッシュ?して
ひとつのhtmlに書き出す、にはどうすればよいでしょうか?

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

406 :デフォルトの名無しさん2010/12/21(火) 15:22:03
実際のコード晒してみてくれないとイメージが付かないな。
普通にtbodyにappendしていけば一つのテーブルに書き出せると思うんだけど。
408 :デフォルトの名無しさん2010/12/21(火) 16:33:12
($.getJSON() → $.each() で回してappend という処理をしています)
このappend先を1つのtbody若しくはtbody毎に区切ってappendしていけばOKな話じゃないのか
409 :4022010/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ファイルが存在します。(続きます)
410 :4022010/12/21(火) 18:14:13
(JSONファイルは本当は改行して見やすい記述なのですが、改行が多すぎるという理由で書き込めなくてすみません)

411 :4022010/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もかけて良いと思うけど
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>


で、動くにはうごいたんですが、
続きます。
417 :デフォルトの名無しさん2010/12/21(火) 22:56:01
>>415
自分でHTML書いてるのにvisibleの設定値より少なくなるってどんな状態だ?
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>の要素数を取得して、ある一定の数以下では、実行しないなど。。。
よろしくお願いします。
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以外の動的コンテンツもですか??

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

いや、商品名とかは普通に静的だろ・・・
まぁAmazonはCanonical URLとか小技使いまくってるけども
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だとうまく動かないのは、なぜ?
430 :デフォルトの名無しさん2010/12/24(金) 23:33:09
>>427
もう解決策は出てるけど挙動が気になって確認してみたが、
1.4.2から1.4.3にバージョンアップした際にcss周りの処理を
高速化した影響っぽい。

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

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

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

とかやってるんだけどこれってどういう意味があるんでしょう?
433 :デフォルトの名無しさん2010/12/25(土) 22:51:19
>>431
その上に
var self = this
てのもあった
432 :デフォルトの名無しさん2010/12/25(土) 22:49:06
それだけの情報じゃわからんだろw
もっとコード出すとかjQueryプラグインの名前出すとかしないと。
ただ、そのコード見るだけで判断すると単純にfuncMoveLeftってメソッドを定義してるだけだよね
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
解決しました!
ありがとうございます。
444 :4432010/12/31(金) 02:30:53
答えが>>435に書かれていました・・ありがとうございます。
549 :デフォルトの名無しさん2011/03/05(土) 22:03:58.22
>>435
亀だし、理由考えたら当たり前なんだけど
この発想がぱっとできなくて行き詰ったことがあるなぁw
438 :デフォルトの名無しさん2010/12/26(日) 21:07:32
つーか、thisの扱いをどうするかなんて常識だろ。
448 :デフォルトの名無しさん2011/01/07(金) 09:09:18
>>438
どうするの?
451 :デフォルトの名無しさん2011/01/08(土) 01:43:36
>>448
thisは変数じゃなくてキーワード。
匿名関数内で外部でのthisの実行結果を取り出したいなら、
変数に渡してクロージャ化するのは常套手段。
今のJavaScriptなら基礎レベル。
439 :デフォルトの名無しさん2010/12/29(水) 01:49:13
リンクがクリックされたらjquery.loadで外部ページを読み込んでページの一部を書き換える処理を書いたのですが、
これに加えて、jquery.loadでのページ読み込みが完了したら元ページの一番上(スクロールバーが一番上にある状態)に移動したいのですが、
どのような処理を書いたら良いのでしょうか?
440 :デフォルトの名無しさん2010/12/29(水) 02:08:02
>>439
書き換え終わった後で
$(document).scrollTop(0)
とかやったらいいんじゃない?
442 :デフォルトの名無しさん2010/12/29(水) 16:35:59
>>440
できました。
ありがとうございます。
445 :デフォルトの名無しさん2010/12/31(金) 06:26:08
クロージャがわかるのになぜ…。
スコープぐらい自分で試して把握しないと、
いつまでたってもthisの挙動が理解できないぞ。
446 :デフォルトの名無しさん2010/12/31(金) 06:27:41
varの有無でscope変わるのが卑怯だ
468 :デフォルトの名無しさん2011/01/22(土) 21:39:17
>>446
常にvar使ってれば、そもそも悩む事もねえだろ。
447 :デフォルトの名無しさん2010/12/31(金) 06:35:56
letなら気持ちはわかるけど、
varの有無で卑怯の意味がわからんw
俺はよくできてると思うけどな
450 :デフォルトの名無しさん2011/01/08(土) 00:30:13
labelの領域をクリック→labelが反応→対応しているラジオボタンが反応→対応しているlabelが反応って感じか。
原因は知らんけど click イベントの中で e.preventDefault() を入れたら二度呼ばれるのは回避できた。
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してるからじゃね
454 :4522011/01/17(月) 20:51:56
>>453

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

&でkey=valueになるようですが
key:value,key:value,key:valueの形に返してくれるメソッドはありますでしょうか
455 :4522011/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]);とか適宜適用する

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

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

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

464 :デフォルトの名無しさん2011/01/21(金) 14:09:28
>>460
>「空のjQueryオブジェクトに対して動的に要素を追加できるのか否か」
変なこと言ってるって自分で気付いてる?

jQueryオブジェクトってのはDOMの配列みたいなもんで、
それが空ってことは要素ゼロなわけ。
それにappendメソッドを呼んでも何も起こらないのは分かるよね?
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だったような
だからそのやり方で出来るのは当然かな・・・?
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>')
469 :デフォルトの名無しさん2011/01/24(月) 09:14:19
varを使わないメリットってある?
470 :デフォルトの名無しさん2011/01/24(月) 18:49:11
>>469
メリットは無いだろ。
デメリットはあるけど。
471 :デフォルトの名無しさん2011/01/24(月) 18:57:35
>>469
変数が自由に使える点
474 :デフォルトの名無しさん2011/01/25(火) 09:06:41
>>470-471
?キュー
グローバルが特に必要無ければ、グローバルは
まったく使わなくてもいいんだよね?

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

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

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

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

追加→非表示→フェードインの3アクションあるのが無駄な気がするんですが
これを一括に行うメソッドとかないですかね
482 :デフォルトの名無しさん2011/01/28(金) 01:40:15
>>476
cssメソッドはあまり使わないほうがいいよ。
理由は、見た目を制御するのは、cssファイルでやるものだから。
485 :デフォルトの名無しさん2011/01/28(金) 12:08:52
>>482
プラグイン化したものを他で使おうとするとCSSまで修正しなくてはいけなくなるから修正箇所増える
他人が見てもなんで予想外の動作するのかわかりにくい
ライブラリの外で定義しとかないといけないグローバル変数を使うよりたち悪い
477 :デフォルトの名無しさん2011/01/26(水) 08:47:29
ラップする関数作ればいいんでね?
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の言うとおりラップ関数にする
478 :デフォルトの名無しさん2011/01/26(水) 13:38:43
appendする要素をCSSファイルのほうでdisplay:noneにしとく
480 :4792011/01/26(水) 15:59:36
あ、noneクラス外し忘れた。
.fadeIn(function(){
 $(this).removeClass('none');
});
あとはnoneクラス用意せずにhide()使うとかかな
481 :デフォルトの名無しさん2011/01/26(水) 21:30:03
>>480
CSSであらかじめ定義しておくのは呪文が増えるだけでメリット無いと思う
やらない方がいいよ
483 :デフォルトの名無しさん2011/01/28(金) 01:47:34
じゃあhideとかshowとか使えんな
487 :デフォルトの名無しさん2011/01/28(金) 21:52:54
>>483
hideやshowはオブジェクトがそこにある、
ないという見た目だけの問題じゃないから
例外だよ。

少しは柔軟に考えような。
484 :デフォルトの名無しさん2011/01/28(金) 03:53:26
removeが簡単に関数一発で元に戻せるようになれば
そういう方向性もありかもねえ
488 :デフォルトの名無しさん2011/01/29(土) 22:09:22
$.ajax で success に処理がいくために必要な条件をご存じの方、いらっしゃいませんか?
サーバーサイドから適切な値が返ってきてるのに success 後の処理に入ってくれなくて困っています。
ちなみに error にもいきません。
501 :デフォルトの名無しさん2011/01/31(月) 02:59:34
>>488
firebugのコンソールで見ればいいじゃん
正しいレスポンスが返ってきているかどうかそれみりゃ分かる
大抵は正しいJsonをサーバ側が返しておらずjQueryがパースできない
とかそんな理由で動作してない

Jsonチェック
http://www.jsonlint.com/
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
>サーバーサイドから適切な値が返ってきてるのに

それ思い込みだから
492 :デフォルトの名無しさん2011/01/30(日) 15:53:06
$('input#btnNew').live('click', function() {
alert('新しく作ったボタンのイベントはliveを使用');
});
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');

こんな感じでいけた
503 :デフォルトの名無しさん2011/01/31(月) 20:47:52
>>496
ありがとう。
ばっちりでした。
523 :デフォルトの名無しさん2011/02/05(土) 00:37:44
>>520
ヒント>>492
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にこだわる事もないと思う
(上手い方法があるのかもしれないけど)
500 :デフォルトの名無しさん2011/01/31(月) 00:04:43
そうですね配列ですよね
みなさまどうもありがとうございます!
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をダウンロードするその時だけ。
513 :デフォルトの名無しさん2011/02/03(木) 08:10:50
>>509
同意だが
Windows2000だとIE6からもうそれ以上バージョンアップ出来ないんだよね
515 :デフォルトの名無しさん2011/02/03(木) 12:17:38
>>513
>Windows2000

正式サポートが去年オワタから白嶺
516 :デフォルトの名無しさん2011/02/03(木) 13:34:58
>>515
MSが一方的にもうしらねと投げ出しただけで
利用者はまだまだ数多くいらっしゃる訳だ
510 :デフォルトの名無しさん2011/02/02(水) 21:02:59
IE6を使ってる情弱は20%もいる
そして情弱は疑いもなくアドセンスをクリックしてくれる上得意客
切り捨てられない事情があるんだ
こうしてガラパゴス・ジャパン・スタンダードが作られていく
嘆かわしい
511 :デフォルトの名無しさん2011/02/02(水) 23:07:51
IE6をあまり悪く言うなや。
10年前のブラウザだぞ。
当時の他のブラウザはIE6よりもはるかに劣っていただろ。
むしろ今でも使えることに驚けよ。
514 :デフォルトの名無しさん2011/02/03(木) 12:16:50
IE6のすばらしさは縦スクロールバーがデフォで左右にカクカクしないことに尽きる
524 :デフォルトの名無しさん2011/02/05(土) 13:38:46
>>514
そこだけは同意
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);
  }
});
520 :デフォルトの名無しさん2011/02/04(金) 22:35:28
jQuery を使用して、以下のことをしたいのですが、どうしても出来ません。

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

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

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

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



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

これ便利だと思うのに、標準関数はないわ、そういうことをやっている例もみたことないわで、何か問題があるんだろうか、と思っています。
何か問題ありますか?
536 :5352011/02/23(水) 15:25:06.92
追記。
$('.foo').fadeIn(...) みたいなコードで同じことができるのは分かっています。
ただ、これだとすべての要素を個別に書き換えることになるので、負荷の点などからSTYLEタグを使いたいわけです。
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"});のように記述しても読み込んでくれんです。。
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は可愛すぎると思うんだ
542 :デフォルトの名無しさん2011/02/25(金) 00:31:23.47
使ってないけど、そんなに変わるわけねーだろって思ってる。

jQueryに限らず○倍速くなりましたとかいうのは
一部の処理だけ見れば○倍速くなったかもしれんが、
その部分は全体のごく一部だから、殆ど変わらないという
結果になるのことが多い。
546 :デフォルトの名無しさん2011/03/05(土) 20:28:17.13
質問です。
アイコンにロールオーバーして
音を鳴らすのと同時に画像を変えるのって可能ですか?
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"

です
すみません
560 :デフォルトの名無しさん2011/03/09(水) 14:51:27.87
>>550

.live() 使えばいけるだろ
562 :デフォルトの名無しさん2011/03/17(木) 04:42:21.37
>>550
$("div.hoge").each(function(index, elem) { $(elem).attr("id", "hoge"+(index+1));});
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;とかにしてクライアントに保持しておかなくて済むので
重宝していたのですが、上記に変わる便利なやり方、プラグインはなにかないでしょうか。

ご教示頂けますと幸いです。
557 :5652011/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";
564 :デフォルトの名無しさん2011/03/18(金) 09:23:32.68
コンビニ行っても何も無いよね
自宅警備中のニートには辛いわ
566 :デフォルトの名無しさん2011/03/21(月) 09:35:57.43
爆発を見た日に買い貯めした食料が底を尽き掛けている
今日は雨なので外に出たくない
569 :デフォルトの名無しさん2011/03/22(火) 22:38:16.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{
//処理〜
});
});

よろしくお願い致します。
579 :デフォルトの名無しさん2011/03/26(土) 19:19:10.69
>>577
2の方で良い。動的に追加したエレメントにも対応させたきゃliveね。
583 :デフォルトの名無しさん2011/03/26(土) 23:13:47.16
>>579
ご回答ありがとうございました。
578 :デフォルトの名無しさん2011/03/26(土) 18:40:23.83
東京の放射線量って今どのくらいなんだろ
来週出張なんだけどやだなぁ
580 :デフォルトの名無しさん2011/03/26(土) 19:51:24.77
584 :デフォルトの名無しさん2011/03/26(土) 23:17:04.06
>>580
またピンポイントでウンコなサイトを紹介してきたね
582 :デフォルトの名無しさん2011/03/26(土) 20:38:24.57
えびぞーとまおが九州に逃げててワロた
585 :デフォルトの名無しさん2011/03/27(日) 07:36:08.01
>>582
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"の属性をもつ項目以外も抽出されてるのではないかと思います。
なにかがおかしいとは思いますが、見当がついてないです。
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」と表示される。
594 :デフォルトの名無しさん2011/03/29(火) 14:51:57.54
なにかがおかしいとは思いますが、見当がつかないので
実際に使ったコードを載せてください
595 :デフォルトの名無しさん2011/03/29(火) 15:04:50.61
そうそう。説明がヘタなら本物をさらさないとレスが増えるだけで話がすすまない
597 :デフォルトの名無しさん2011/04/03(日) 19:51:49.76
domをzen codingのような形式で全部吐き出せるようなプラグインって無いかな
文章も込みで
598 :デフォルトの名無しさん2011/04/06(水) 19:42:23.67
<select>のプルダウンメニューで、選ばれた時に、特定の要素をトグルにしたいのですが、
selectもchangeもclickも、うまくいきませんでした。

プルダウンメニューの特定の項目が選択されたら、それに対応する要素にtoggleClassさせる方法はありますか?
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
どえらいおおざっぱな質問だな
ソースを見てどの要素が崩れるか見てみないと答えようがない
606 :Perl忍者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>

やりかたおしえてください!!!!!!
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がクリックされるまでは
表示されないという動作ができています。
ここに新たな、同じようなダイアログとボタンの組み合わせを設けたい場合、
どのように定義すればよいでしょうか?
609 :6082011/04/19(火) 15:15:11.27
補足です。>>608で書いたダイアログとボタンの組み合わせを同様な書き方で
2つ(dialog1、button1、dialog2、button2として)定義してみましたが、
それでは上手く動作しませんでした。
動作環境は、Firefox3.6.16とjquery-ui-1.8.7.custom.min.jsを利用しています。
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させています。
わかりにくい説明で申し訳ありませんがお願いします。
616 :6132011/04/21(木) 08:43:31.64
>>614
jqueryのヴァージョンは1.5.2です。
よろしくお願いします。
619 :デフォルトの名無しさん2011/04/21(木) 21:37:02.19
>>615
なんかよくわからんコード書いてんなw
もうちょっと整理してみ
あとhrefのidはformタグにふってんの?
不具合が再現できるhtmlのソースも張ってよ
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 />
618 :6132011/04/21(木) 09:21:20.71
すいません
自己解決しました。
ドキュメント宣言してなかったのが原因みたいです
時間を割いてくださったかたありがとうございました。
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」で検索すれば、いろいろ出てくるよ。
622 :6212011/04/25(月) 12:12:08.19
あ、Thickboxは「メンテナンスされていないから別のをつかえ」って書いてあるね。
まぁ、いろいろあるから、どれを使うかはググって自分で判断してくれ。
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();みたいにするにはどうすればいいのでしょうか?
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オブジェクト
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だろ
違う言語にはなってない
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
うん、だいぶ高速化されたよ
639 :sage2011/05/15(日) 13:24:06.56
高速化されましたよね。。
なぜ、遅くいのでしょう。pluginとバージョンの相性があるんですかね。
640 :デフォルトの名無しさん2011/05/15(日) 13:30:11.85
>>639
プラグ印使ってんの佳代
名に使ってんの蚊教えれ
641 :sage2011/05/15(日) 13:35:38.09
flexgridです。
http://flexigrid.info/
642 :デフォルトの名無しさん2011/05/15(日) 13:59:50.77
>>641
おいおい最新版使えよ
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回くらいループ計測して自分で速度を測るといいと思う。
646 :6442011/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").~~~
とずらずら書いたりとか
652 :デフォルトの名無しさん2011/05/17(火) 14:01:05.96
>>647の指摘ほ的確だと思うけどな
648 :デフォルトの名無しさん2011/05/17(火) 00:42:38.86
こうして何も知らない純粋な若者が騙されて餌食になるんだな
649 :デフォルトの名無しさん2011/05/17(火) 02:31:07.57
ちょっぴりだけ$("div > span")の方が速い。
651 :デフォルトの名無しさん2011/05/17(火) 12:54:10.75
>>647>>649
どや顔でレスしてると思うとwwww
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');

何がやりたいのかよくわからないけど、これじゃダメなの?
656 :6542011/05/19(木) 06:55:41.63
ああ、すみません、HTML側はたとえばこんな感じです
<div id="hoge">
aaaa
<p>bbbb</p>
cccc
</div>
657 :6542011/05/20(金) 07:52:12.02
やっぱりjQueryのままじゃ無理ですか?DOMにしてnodeValueで取得設定するしかないですか
658 :デフォルトの名無しさん2011/05/20(金) 10:57:26.50
bbbbの部分を取得したり書き換えたいってこと?
688 :6542011/05/30(月) 08:06:22.13
>>658
>656のaaaaの部分だけ(やccccの部分だけ)をDOMにせずjQueryオブジェクトのまま取得したり書き換えたりしたいってことです
レスが遅れてすみません
659 :デフォルトの名無しさん2011/05/21(土) 00:04:31.21
クリックしたら、ページを暗くして、画像や文章などを中央に表示して、
関係の無いところを押すと元に戻るみたいなのがありますが、
これのJqueryでのサンプルが載っているページをご存じないでしょうか?
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をガシガシ使ってますが?
で、なんでこの板にあるわけ?
667 :デフォルトの名無しさん2011/05/23(月) 17:25:59.45
lightboxで中に画像ではなくHTMLを貼りつけられるようなの御存知ありませんか?
669 :デフォルトの名無しさん2011/05/24(火) 23:18:25.74
親画面と小画面でdatepicker(1ヶ月分をカレンダーのように表示)を
それぞれ同時に表示したいんですけど
datepickerの大きさをそれぞれ任意の大きさに変えるにはどうしたらいいですか?
cssで大きさを指定してしまうと、二つとも共通のcssを読み込んでるので
同じ大きさになってしまいます。
二つのdatepickerを自由に大きさを指定するにはどうしたら良いですか?
どなたか教えてください。
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 {
 // このスタイル
}

とかすれば、大きさを指定している部分だけの修正で修正範囲も少ないとおもふ
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") ならいくんじゃない?
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は本当に問題児だ
だいっ嫌いこんな糞重くてバグだらけのブラウザ
677 :デフォルトの名無しさん2011/05/26(木) 23:40:50.91
1.2.6,1.5.2,1.6で試したがそんなのにはならんなー
ブラウザとjqueryのバージョンは何?あと再現できるコードを頼む
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がおかしいってのだけはわかる
あとは私の環境の問題かしら…
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。

という事で解決しました
あどヴぁいす下さった皆さんどうも|ω・`ノシ
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で送信するか
686 :デフォルトの名無しさん2011/05/27(金) 17:05:53.52
$("#hoge").val("foo\nbar\nbaz");
687 :デフォルトの名無しさん2011/05/27(金) 17:44:05.35
>>686
|ω・`)あぅ…無知ですた
690 :デフォルトの名無しさん2011/05/30(月) 17:01:57.42
>688
そういうときは変更の対象となる部分をspanの中に入れるから普通は困らないんだけど。
元々のHTMLは変更できないんだよね、きっと。
691 :6542011/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 なんて初めて知った
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を読み込み、
他フレームから使用できますか?

マイクロソフト ワイヤレス ブルートラック マウス Arc Touch Mouse RVF-00006
マイクロソフト ワイヤレス ブルートラック マウス Arc Touch Mouse RVF-00006