【誰か】jQueryのここがわからない【助けて】at TECH
【誰か】jQueryのここがわからない【助けて】 - 暇つぶし2ch100:デフォルトの名無しさん
10/01/18 18:30:29
$(this).next()
だと$(this)の次の要素となりますが、
次の要素だけでなくセレクターで指定したい場合、どのように書けばよいのでしょうか?
$(this + ' > div')とか$(this[attribute])みたいに書きたいんですけど…。

よろしくお願いいたします。

101:デフォルトの名無しさん
10/01/19 11:35:52
1.4にしたら、$.ajax(dataType: "json")がparsererrorを戻すようになった。
戻ってきてるのは{"abc": "def"}で、headerがapplication/jsonでも駄目。

102:デフォルトの名無しさん
10/01/21 14:36:09
1.4にしたら動かなくなったお
FFのエラーコンソールでは の部分で、未定義の実体が云々言われるんだが、どういうことなんだ

103:デフォルトの名無しさん
10/01/25 18:08:21
$.fn.newfunction = function() {
 ...
}
と書くのと、
$.fn.extend({
 newfunction : function() {
 ...
 }
});
と書くのとでは、どのような違いがあるのでしょうか?


104:デフォルトの名無しさん
10/01/27 13:37:06
jQueryでアコーディオン的なインタフェースを書こうと考えています。

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

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

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

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

よろしくお願いします。

105:デフォルトの名無しさん
10/01/31 17:35:17
URLリンク(bost.bostudio.co.jp)
にある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:デフォルトの名無しさん
10/02/18 15:46:13
ページにボタンがあり、ボタンが押されるとそのページを見ている全員にボタンが押された旨を通知する
ものを作りたいのですが、どのような仕組みになるのでしょうか?

107:デフォルトの名無しさん
10/02/18 18:19:14
>>106
それを実現しているサイトの例がある?
サーバ側の協力とブラウズしている側でのポーリング(またはそれに代わる仕組み)が必要だと思うけど。
Cf. Comet

108:デフォルトの名無しさん
10/02/18 21:02:37
<a id="test" href="#" onclick="return confirm('移動しますか?')">リンク</a>

これをJQueryに移植しようとしたんですけど、できませんでした。
どうreturnさせればいいのかわかりません。
教えてください。二百円あげます。

109:デフォルトの名無しさん
10/02/18 23:06:56
あ、できた

110:デフォルトの名無しさん
10/02/18 23:07:44

  で き ま し た !
    /\___/ヽ
   /''''''   '''''':::::::\
  . |(●),   、(●)、.:| +
  |   ,,ノ(、_, )ヽ、,, .::::|    
.   |   `ヒ---イ ' .:::::::| +
   \  `ニニ´  .:::::/     +
,,.....イ.ヽヽ、ニ__ ーーノ゙-、.
:   |  '; \_____ ノ.| ヽ i
    |  \/゙(__)\,|  i |
    >   ヽ. ハ  |   ||

111:デフォルトの名無しさん
10/02/24 13:40:51
おれもできた

112:デフォルトの名無しさん
10/02/27 18:34:35
ドラッグの処理に必要なui.draggable.ext.jsはどこで入手するんでしょうか?
URLリンク(jqueryui.com) にはextの方はないみたいなんですが。

113:デフォルトの名無しさん
10/02/27 23:14:17
>>112
何を参考にしてるのか知らないが、そのページでDraggableをチェックしてダウンロードできるファイルで
すべて事足りる。

114:デフォルトの名無しさん
10/02/28 18:03:57
アコーディオンメニューで困ってます(´;ω;`)

URLリンク(sawa-s.com)
とりあえずここのを参考にして作ってます。

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

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

ソースは下記
<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:デフォルトの名無しさん
10/03/12 21:00:32
$("#a").click(function(){});なんかのイベント時の処理を
$(function(){});の外に書いた場合に動かないのはなんでですか?

関数と一緒で動きそうな気がするんですが

116:デフォルトの名無しさん
10/03/16 14:41:27
id=aの要素の前に書いてんじゃないの? $("#a")の評価時点で存在しない要素は処理できません。

117:デフォルトの名無しさん
10/03/23 01:39:37
jQuery.ui.tabsの、ヘッダ部分の高さを取得する方法はあるでしょうか?

118:デフォルトの名無しさん
10/03/23 03:36:08
>>117
どうせHTML要素になるんだから

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

とか

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

でいけるんじゃないか



119:117
10/03/23 23:20:41
>>118
ご助言、ありがとうございました。
後者ではうまく取得できませんでしたが、前者で<ul>にIDをつけてソレの高さを取得したところ、大体の大きさは取得できたようです。
ぴったりとはいきませんが、やはりマージンなどの関係でどうしても誤差が出てしまうのは避けられないのでしょうね。

120:デフォルトの名無しさん
10/03/24 21:33:35
ver1.3.2

$("#form1").serialize()が、あるウィンドウ1(showModalDialog)では成功するけど、
別のウィンドウ2(showModalDialog)では空文字を返します。
もちろん、serialize()を行っているJavascriptファイルは同一ファイルです。
このような現象見たことある人いますか?

121:デフォルトの名無しさん
10/03/25 01:44:50
>>120
jQueryオブジェクトをマージすることはできますか?

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

のようなことがしたいです。
個別にイベント設定すればいいじゃんってのは無しの方向でw

122:デフォルトの名無しさん
10/03/25 09:36:01
セレクタで書けないなら、.add() で追加するとか

123:120
10/03/25 10:39:45
>>121

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


FirefoxやChromeでは成功するんですけど、
IEだけ空文字が返るんです。


124:120
10/03/25 11:14:14
>>121

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

つきあってくれて、ありがと

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

126:デフォルトの名無しさん
10/03/26 11:53:46
>>122
サンクス
それでいけた

>>123
スマス、安価はミスです

127:デフォルトの名無しさん
10/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:デフォルトの名無しさん
10/04/04 21:40:16
jQuery.ui の draggable & droppable で開発しています

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

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

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

return false;
なんかで可能なのかとおもい、試して見ましたがうまく動きません

129:128
10/04/04 22:32:42
自己解決しました

function foo(e, ui){

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

という感じで無事に、
ドロパブル要素にはしたけどある条件下に置かれた場合にはやっぱりドロップしたくない場合も、
リバートできることが判明しました

130:デフォルトの名無しさん
10/04/05 23:52:36
リンクをクリック→jQueryに引数を渡す→Loading表示→jQueryが該当するrssを取得してきて表示
ってのをやりたいのですが、「jQueryが該当するrssを取得してきて表示」はできてるのですが、
「リンクをクリック→jQueryに引数を渡す→Loading表示」がわかりません。
参考になるコードはありますか?
また、リンクをクリックして更新するのはページ全体ではなく、jQueryの読み込みだけです。

131:デフォルトの名無しさん
10/04/06 00:33:36
>>130
上のほうで同じような質問をしてボロクソに叩かれた者だけど、
結論としては引数を指定してやることはできないっぽい
ただ代わりにinput要素やらなんやらを隠し持ってていたりすればいけるっぽい

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

<input type="button" id="#hoge" />
<input type="hidden" value="URLリンク(example.com)" />

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

function getRss(url){...}
$('input.hoge').click(function(){
getRss('URLリンク(example.com)');
});
$('input.fuga').click(function(){
getRss('URLリンク(example.com)');
});
...

132:デフォルトの名無しさん
10/04/06 02:25:53
>>130
引数を渡すってどういうこと?aタグのhrefを取得してAjaxでデータを取ってきたいとかなら
clickのコールバック関数でthisを呼べばいい
loading表示はajaxSend呼び出して、ajaxCompleteで消すとかすればいいよ

133:デフォルトの名無しさん
10/04/06 03:38:09
>>131
さんくです。参考にします。

>>132
ボタンでもaタグのリンクでもいいんですが、クリックするとボタンかaタグのvalueを関数に送ってそれを処理って感じです。

134:125
10/04/09 11:38:22
>>125
失礼、自己解決しました。
<script src="URLリンク(www.google.com)"></script>
<script type="text/javascript">google.load("jquery", "1");</script>
<script type="text/javascript" src="プラグイン"></script>
<script type="text/javascript">
 ※jQueryのコード
</script>
・・・でよかったんですね。

135:デフォルトの名無しさん
10/04/09 20:29:43
>>134
$.getScript('hoge.js'); 便利

136:デフォルトの名無しさん
10/04/11 14:27:21
$('#aaa').append("hoge");
これ($('#aaa'))を初期化したいのですが、どうすればよいですか?

137:デフォルトの名無しさん
10/04/11 14:38:36

あ、自己解決しました
empty()

138:デフォルトの名無しさん
10/04/11 15:09:10
最近はjQueryの入門書みたいなのが何冊か出てるから、それ読んでからプログラミング
したほうが効率がいいんじゃないかな。

139:デフォルトの名無しさん
10/04/11 15:16:36
― ソ Ы 噂 浬 欺 圭 構 蚕 十 申 曾 箪 貼 能 表 暴 予 禄
兔 喀 媾 彌 拿 杤 歃 濬 畚 秉 綵 臀 藹 觸 軆 鐔 饅 鷭

140:デフォルトの名無しさん
10/04/11 16:43:43
>>95 でも書いたんですが、sortable で最初から並び替えておく良い方法は無いでしょうか?

141:デフォルトの名無しさん
10/04/11 19:50:21
>>140
キーを順番に
5,2,3,1,4
とかしてcookieに保存すればいいじゃない

142:デフォルトの名無しさん
10/04/11 20:15:15
jQueryで表示した<div>要素をクリックして、clickイベントで拾う事はできないのでしょうか?
HTMLに直接書いたものだと機能したのですが・・・

143:デフォルトの名無しさん
10/04/12 13:11:54
遅レスだけど、1人くらい、誰かの役に立つかもしれんので貼っとくね。
URLリンク(koexuka.blogspot.com)
カレンダーの日付をクリック
 →dialogでスケジュール確認・変更
キーワードをクリック
 →wikipediaの結果表示
とか
jqueryのおかげで、かなりの部分をAS3コンパイル(書き出し)をしなくて済むようになった。


144:デフォルトの名無しさん
10/04/12 21:50:54
>>142
.live("イベント",こーるばっく)

145:デフォルトの名無しさん
10/04/12 23:17:30
>>144
jQueryすげーな

146:デフォルトの名無しさん
10/04/19 10:51:19
「もっとみる」とか「元に戻す」リンクで
テキストを表示させたり隠したりを楽にできるプラグインってないですかねぇ?
URLリンク(plugins.learningjquery.com)
ここの使ってみたんですけど、どうにも使いにくくて。
なんか他にオススメあったら教えて欲しいです。

147:デフォルトの名無しさん
10/04/19 20:17:15
URLリンク(wata04.blog21.fc2.com)
このサイト結構面白いこと書いてくれる

こういうメニューバーいいなぁ

148:デフォルトの名無しさん
10/04/20 20:31:45
ほかのサイトRSSとかXML取得していろいろやりたいんやけど
クロスドメインはダメってことで何もできん…
JSONに変換するのも面倒やし。
みんなどうやってXMLゲットしてますか?

149:デフォルトの名無しさん
10/04/21 21:15:35
Perlをつかってる

150:デフォルトの名無しさん
10/04/22 01:58:16
>>147
宣伝すぎるだろw
前にJavaScriptスレにあった「Web3.0がくるんでしょうか」で締めた宣伝レス思い出したわw
もっとがんばってから宣伝しろよ

151:デフォルトの名無しさん
10/05/02 14:54:48
URLリンク(hisasann.com)

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

また、本来このようにローカルファイルへアクセス出来るのは問題がある動作なのでしょうか。

152:デフォルトの名無しさん
10/05/02 19:54:03
>>151
これ、書いている人が勘違いしてるんだろうけど、
サーバからクライアントのローカルファイルにアクセスできるわけじゃないからあんま意味ないよ

ローカルのhtmlをブラウザで見たらローカルのファイルを見れてるだけ。

153:151
10/05/02 22:02:45
>>152
あ、私がやりたかったことに沿っていたのであまり気にしてませんでしたが、
確かに引用文元からの文脈でみると勘違いしているようですね。

ただ、今回試したのは
ローカルのhtmlからjQueryを用いてローカルファイルをloadする、
ということなのですが、これがGoogleChromeでは出来ませんでした。

154:デフォルトの名無しさん
10/05/03 02:55:37
>>153
そういうのをやるとTiddlyWikiのソースを見ると参考になるよ。
結局ブラウザごとに違う処理を使ってるわけだが。

155:デフォルトの名無しさん
10/05/03 03:02:12
>>153
chromeはセキュリティポリシーでローカルファイルへのアクセスを禁止してるからね
検索すると結構出てくると思う

156:151
10/05/03 14:13:50
>>154-155

URLリンク(journal.mycom.co.jp)
URLリンク(blog.chromium.org)
> ローカルファイルに対しては「Same origin policy」は必ずしも
> 有効になっておらず、ブラウザごとに対応はまちまちだ。

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

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


…と思ってTiddlyWikiのサイト
URLリンク(tiddlywiki.org)
を見たところ、--allow-file-access-from-files というオプションがあるのに気づき、
これを付与して起動したところ、所望の動作が得られました。
5.0.335.1以降仕様が変わったそうです。
URLリンク(www.google.com)

157:デフォルトの名無しさん
10/05/22 12:15:00
テーブルのヘッダを固定してスクロールできるjavascript(jquery)
のプラグインを探してるんだけど、オススメありますか?
検索とかソートの機能は不要です。以下の2つを試したけど少々不満。

URLリンク(www.otchy.net)
右端までスクロールするとヘッダがずれる

Super Tables
URLリンク(c-brains.jp)
機能は申し分ないけど、少々重い

158:デフォルトの名無しさん
10/05/30 04:04:47
これってそこかしこにサンプル転がってるけど
競合ってするの?めぼしい物を入れていこうと思ってるんだけどさ

159:デフォルトの名無しさん
10/05/31 14:07:01
$が重複しそうなときには回避できる
詳しくはぐぐれ

160:デフォルトの名無しさん
10/06/02 17:09:54
>>159
$の衝突は回避できても>>158が想像してるのはプラグインのnamespaceだから衝突しそうじゃね?

161:a
10/06/03 01:46:20
a

162:デフォルトの名無しさん
10/06/03 01:58:52
>>157
URLリンク(d.hatena.ne.jp)

163:デフォルトの名無しさん
10/06/06 04:07:03
クロスブラウザで統一されたデザインを成り立たせようと思ったらとたんに難しくなる
どう回避してる?

164:デフォルトの名無しさん
10/06/06 04:12:29
>>163
そもそもIEユーザーが見るようなサイトではなかったから、IEは無視することにした

165:デフォルトの名無しさん
10/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:デフォルトの名無しさん
10/06/07 14:07:45
nullって何だよ?

167:デフォルトの名無しさん
10/06/07 14:12:59
レスありがとうごじます。
第2引数がなんなのかよく分からなかったのですが、nullにしてる
サンプルを発見したのでそのまま使いました。
第2引数を省略して、コールバック関数を第2引数にしてる例もあったので
そちらも試してみたのですがうまくいきません。。

168:デフォルトの名無しさん
10/06/07 14:17:26
Forefox+Firebugのコンソールで、Javascriptのどこかでエラーが発生してないかどうか確認。
なければ、packされてないjqueryを使ってステップ実行で、どこでどうなるのか把握。
invalidなJSONデータを戻してるとか、そんなんじゃねーの?

169:デフォルトの名無しさん
10/06/07 14:29:13
>>invalidなJSONデータを戻してるとか
うわーおっしゃる通りでした。
smarty使わなくてはいけなくて、勝手にhtmlエスケープされていたからでした。
ありがとうござまいした。助かりました。

170:デフォルトの名無しさん
10/06/07 15:44:52
domにdomをappendすることってできないのでしょうか??

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

dd.append(d);

とやってみたのですが、どうも要素が追加されません。
appendの引数は文字列限定しょうか。
domにdomを追加したい場合のやり方あったら教えて頂きたく><

171:デフォルトの名無しさん
10/06/18 20:47:03
このサイトの動きをjQueryで実現したいんだけど
どこかにライブラリないですか?
URLリンク(ito-naika.net)

172:デフォルトの名無しさん
10/06/18 21:09:13
>>171
マルチ乙

173:デフォルトの名無しさん
10/06/19 18:05:53
>>170
DOMを文字列に変換して追加すればいいんじゃない?

174:デフォルトの名無しさん
10/06/19 18:54:50
>>170

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

普通に可能だ

<script src="URLリンク(www.google.com)"></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:デフォルトの名無しさん
10/06/20 12:56:15
raphaelってどうですかね?

176:デフォルトの名無しさん
10/06/21 16:51:00
>>174
それ、何かの回答のつもりなのかにゃ?

177:デフォルトの名無しさん
10/06/23 20:31:37
詳しく調べたわけじゃないけど、
jquery内で使う変数が、BODY内で使われてるidと同じ場合、
IE6、7、8で100%エラーでるんだけど、これはバグと認識していいのかな?
それとも仕様?

JQueryの1.3、1.3.2、1.4.2で確認した。

178:デフォルトの名無しさん
10/06/23 20:54:05
<html><body>
<div class="test" style="width:100;height:100;background:#eee;">ああ</div>
<div id="hoge"></div>
<script src="URLリンク(ajax.googleapis.com)" 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:デフォルトの名無しさん
10/06/23 21:28:12
>>178
alert(hoge.nodeName); // DIV
と出るのでDOMアクセスやスコープチェーンの違いかねぇ・・・

var hoge = "dummy"; ならエラー出ないよ。

180:デフォルトの名無しさん
10/06/24 00:11:16
>>179
本当だ。宣言されてればいいのか。
プラグインで数時間くらいハマって、泣きそうだった。

まさか全然無関係と思われる<div id="result">が原因とは思えないじゃんw

181:デフォルトの名無しさん
10/06/24 00:38:48
自作プラグインかそうで無いのかは知らないが、
varの書かれていないコードに疑問を持たない時点で・・・

182:デフォルトの名無しさん
10/06/25 16:47:33
テンプレートなしでHTML作ろうとしたら頭が死にかけた・・・

183:デフォルトの名無しさん
10/06/25 17:32:33
意味が分からない

184:デフォルトの名無しさん
10/06/26 07:21:35
jquery.tmpl.js
の最新にrenderが存在しないのは何故ですか?
これで1日潰れました

185:デフォルトの名無しさん
10/06/26 21:59:36
すみません
SmartClient のスレはどこですか?

186:デフォルトの名無しさん
10/06/29 18:37:02
$(".op").live("click", function(){
event.stopPropagation();
});
liveだとeventが取得できないんですが、どうすれば良いですか?

187:デフォルトの名無しさん
10/06/29 23:46:37
テーブルのセルを得る方法がわからないです。

$(上から何段目、左から何個目のセル).html('hoge');
みたいなことをやりたいんですけど

188:デフォルトの名無しさん
10/06/30 01:12:01
>>187
$("table tr:eq(0) td:eq(1)").html("hoge");

189:デフォルトの名無しさん
10/06/30 08:42:05
>>186
$(".op").live("click", function(event){
event.stopPropagation();
});

190:187
10/06/30 09:41:15
>>188
おおお・・・ありがとう
うちに来て妹とファックしてください

191:デフォルトの名無しさん
10/06/30 14:34:12
>>189
動きました。ありがとう。
htmlのタグの構成が間違ってました。

192:デフォルトの名無しさん
10/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:デフォルトの名無しさん
10/06/30 17:32:41
レキシカル変数って言うんですかそれ?
覚えたてでよく分からないです

194:デフォルトの名無しさん
10/06/30 17:39:15
単なるローカル変数

195:デフォルトの名無しさん
10/06/30 21:12:55
そですか

196:187
10/07/01 14:25:25
>>192
まさにそのくらいになってたからちょっと改良しなきゃなと
思ってたところだった。ありがとう。

197:デフォルトの名無しさん
10/07/01 14:27:02
$(xml).find('hoge,piyo,fuga').each(function(){
というループを実行してるとき、hoge,piyo,fugaのどれに
引っかかったのかを$(this)から取得する手段ってある?

198:デフォルトの名無しさん
10/07/01 14:36:37
>>197
$(this).get(0).nodeName とか?

199:デフォルトの名無しさん
10/07/01 17:11:29
>>198
get(0)!そういうのもあるのか

200:デフォルトの名無しさん
10/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:デフォルトの名無しさん
10/07/01 20:14:31
<iframe>

202:デフォルトの名無しさん
10/07/01 20:27:33
>>201
アドバイスありがとうございます。できました。
<div id="main" class="ui-layout-center" src="URLリンク(www.google.co.jp)<)");
とかで変更できました。

203:デフォルトの名無しさん
10/07/01 20:28:20
おっとっと
<iframe id="main" class="ui-layout-center" src="URLリンク(www.google.co.jp)">
です。

204:デフォルトの名無しさん
10/07/02 22:10:53
$.ajaxで
ノードが読み込まれてから処理したい場合は
どう書けば良いですか?

205:デフォルトの名無しさん
10/07/02 22:52:46
ノードが読み込まれてからっていうか
DOMが構築されてから処理を進めたい場合です

206:デフォルトの名無しさん
10/07/03 00:05:09
>>204
ごめん、意味がよくわからない。

$("#node").ready(function(){
 //こういうこと?
 $.ajax({
 complete: function(xhr) {
  //それとも、こういうこと?
  consolen.log(xhr.responseXML);
 });
});

207:デフォルトの名無しさん
10/07/03 00:59:12
具体的にはhtmlを読み込み終わってから読み込んだ部分の高さを取得したいんだが
画像を読込前の高さが取得されてしまいます。

208:デフォルトの名無しさん
10/07/03 01:02:03
async:false
にするとかなりマシにはなるのですが、まだ稀に構築されてません。

209:デフォルトの名無しさん
10/07/03 01:03:26
>>207
あなたが求めている方法は、多分これだと思う。
URLリンク(dogmap.jp)

210:デフォルトの名無しさん
10/07/03 01:22:39
とりあえず適当に頑張ってみます

211:デフォルトの名無しさん
10/07/03 03:38:16
setTimeout(function(){
やりたい処理;
}, 500);
としたら出来た。

212:デフォルトの名無しさん
10/07/03 03:42:38
300位が気持ち良いかも

213:デフォルトの名無しさん
10/07/03 03:45:39
400だな、300だと読み込まれない時がある

214:デフォルトの名無しさん
10/07/03 04:19:54
URLリンク(www.appelsiini.net)
このプラグインの方が簡単だった

215:デフォルトの名無しさん
10/07/03 04:39:15
両方使わないと重い
重いサーバーのデータを持ってくると画像表示が間に合わない

216:デフォルトの名無しさん
10/07/03 11:18:21
プラグインの方は要らなかったみたい
サーバー別の待ち時間をデータベースに落いて
待ち時間を変化させないといけないかも。

217:デフォルトの名無しさん
10/07/03 14:11:07
プリロードしといて、
そっちのload確認してから
仕事すればいいんじゃないの?

218:デフォルトの名無しさん
10/07/03 18:19:46
フレームから他のフレーム内にある要素の値を書き換えるとき
parent.hoge.document.getElementById('piyo').value='うんこ';
みたいなことをしているんだけど
これをjQueryの流儀でかっこうよく書くにはどうしたらいいか

219:デフォルトの名無しさん
10/07/03 19:06:57
>>217
やってみたけど、completeにならない画像もあるので永久に終わらなくなった
アクセス解析用の埋め込み画像とかだと思う

220:218
10/07/03 19:19:22
$(parent.hoge).find('#piyo').val('うんこ');
とやってみたけど駄目だった。
うまく行きそうだと思ったんだけどなぁ

221:デフォルトの名無しさん
10/07/03 21:38:02
やっぱり、500ミリ秒待たないと画像の高さが反映されない


222:デフォルトの名無しさん
10/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:デフォルトの名無しさん
10/07/05 17:58:17
>>222
getJSONは?

224:デフォルトの名無しさん
10/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:デフォルトの名無しさん
10/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:デフォルトの名無しさん
10/07/06 08:43:02
>>225

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

エンコードはZend_Json::encode() でしているのですが・・・。


227:デフォルトの名無しさん
10/07/06 22:49:03
jQueryの本、いっぱいでてるけどお勧めありますか?

228:デフォルトの名無しさん
10/07/07 11:10:03
書籍でお勧めは無いと思います。

229:デフォルトの名無しさん
10/07/07 11:15:20
ちょっと前なら jQuery in Action がおすすめでしたが、
もう2年も前の本なので今はおすすめできません。

230:デフォルトの名無しさん
10/07/07 12:52:36
URLリンク(www.amazon.co.jp)
これは?

231:デフォルトの名無しさん
10/07/08 00:11:22
>>230
なげーよ
URLリンク(amazon.jp)
こう書けよ

232:デフォルトの名無しさん
10/07/16 13:57:15
始めまして。すこしききたいことがあります。

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

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

よろしくお願いいたします。


233:デフォルトの名無しさん
10/07/16 14:50:05
alart?

234:デフォルトの名無しさん
10/07/16 14:50:33
>>232
お前のバグだろ。
URLリンク(unvent.jp)

235:デフォルトの名無しさん
10/07/16 15:09:34
jdigiclockの天気予報を表示させるにはどうしたら良いのでしょうか?

236:デフォルトの名無しさん
10/08/16 09:40:07
URLリンク(www.skuare.net)
URLリンク(www.radoslavdimov.com)


237:デフォルトの名無しさん
10/08/16 16:11:58
はじめまして
jQueryの『plupload』にて質問があります

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

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

例)「20100816_テスト.zip」→「20100816_繝・せ繝・zip」


238:デフォルトの名無しさん
10/08/16 16:38:30
URLリンク(groups.google.co.jp)


239:デフォルトの名無しさん
10/08/16 16:39:31
>>237
「ちゃんと」utf-8で保存されてる
表示するプログラムの方でutf-8として正しく出力汁

240:デフォルトの名無しさん
10/08/17 05:29:06
URLリンク(www.atmarkit.co.jp)
URLリンク(www.atmarkit.co.jp)
URLリンク(www.atmarkit.co.jp)


241:デフォルトの名無しさん
10/08/17 05:34:54
URLリンク(blog.e-riverstyle.com)

242:デフォルトの名無しさん
10/08/19 18:19:14
tabsを使って

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

という処理をしたいんだけど、どうやればいいかな?
everyTimeとeffect("highlight")を組み合わせてみたんだけど、どうもうまく動かない・・・。
仕掛ければいいのはli? それとも別にdivやspan入れて、それにeffect仕掛ければいいのかな?

243:242
10/08/20 12:11:46
>>242
ボケて申し訳ない、自己解決。
liに個別のID振ってeffect指定すれば点滅してくれた>タブ

244:デフォルトの名無しさん
10/08/29 20:43:57
(1)datepickerで、「この日とこの日だけ選択可能にする」って制限をつけることは可能?
(2)月の移動をイベント検知してコードを動かすことは出来る?

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

リファレンスを見ると、最小・最大の範囲でのみ指定可能って感じだけど、見落としているコトがあればご指摘くだされ。

245:デフォルトの名無しさん
10/08/29 22:02:33
「ピックアップした後にajaxで投げて日付をチェック、書き込みがなかったら無視」で


246:244
10/09/02 11:00:06
>>245
失礼、見逃してました。
が・・・やはりそっち(ピックアップ後の処理)になりますか・・・。
無視するにしても、出来ればdatepickerを閉じさせたくないんですよね。
onSelectイベントの中でdatepickerを閉じるのをキャンセルさせるのか可能でしょうか?

247:デフォルトの名無しさん
10/09/02 18:34:52
slideupして要素が画面から消えたら文章を書き換えてそれをslidedownして表示、といったことを行いたいのですが、うまくいきません。
どのように記述したらいいのでしょうか?
タブを用いた画面の切り替えに使いたいと考えています。
よろしくお願いします。

248:244
10/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:すいません><
10/09/06 12:01:46
大変くだらない質問で恐縮ですが、どなたか教えていただけないでしょうか?
offset()を使用して要素の位置を取得したいのですが、select要素だけ取得できません。
どなたか対応策をお願いします。><
教えてくんです。すんまそん。


250:デフォルトの名無しさん
10/09/06 12:06:18
selectedindex

251:デフォルトの名無しさん
10/09/09 22:41:04
fadeInしながらslideDownって出来ないの?

252:デフォルトの名無しさん
10/09/10 03:58:31
できる

253:デフォルトの名無しさん
10/09/13 21:31:51
リンクをクリックしたらイベントっていう風に記述してるんだが、クリックするたびに表示が先頭に戻ってしまう。
なんとかならないの?

254:デフォルトの名無しさん
10/09/13 22:28:44
ソース貼れ

255:デフォルトの名無しさん
10/09/14 00:23:57
>>253
多分 href="#" となってるものにイベント貼ってるだろ

$('a').click(function(e){
e.preventDefault(); // ← これでいけるはず

256:デフォルトの名無しさん
10/09/16 16:32:20
URLリンク(jqueryfordesigners.com)
これ設置したら画像がやたら拡大表示されるんだけど、なぜ?

257:デフォルトの名無しさん
10/09/16 18:22:09
>>256
「BBC Radio 1 Zoom Tabs」って名前で拡大表示が目的のプログラムなんだから、
画像が大きく表示されて当然じゃね?

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

「fullView」と「zoomView」の宣言の中身を変えればもっと細かく調整できるが、
「em」で相対指定してるから、大きくなりやすいのかもな。

258:デフォルトの名無しさん
10/09/17 09:21:48
>>257
ありがとう!
やっぱり拡大がデフォルトなのか…。
ちゃんと自分でスクリプト読めるように勉強するわ。

259:デフォルトの名無しさん
10/09/18 11:35:49
1つのdatepickerで2つ日付選択して範囲選択させたいのですがそういうモードってないですか?
どこかのサイトでdatepickerでやってるの見たんですけどどこだったかわからなくなってしまって…

260:248
10/09/20 18:38:47
>>259
人に教えられるほどの知識はありませんが・・・。
>>248を少し変えれば動きませんか?

具体的には、範囲の開始日を入れるinputをα、終了日を入れるinputをβとして、(4)を
 4-a 一回目のピックアップだったら(αとβが両方とも未入力だったら)ピックアップした日付をαにいれてそのまま
 4-b 二回目のピックアップだったら(αに入っていてβが未入力だったら)ピックアップした日付をβにいれて自分をhide
という感じではどうでしょう? 実験はしていないので、もし動かなかったらゴメンナサイ(汗

261:デフォルトの名無しさん
10/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:デフォルトの名無しさん
10/09/20 22:43:03
マルチするなら、先に質問した所にその旨書いとけよ

263:デフォルトの名無しさん
10/09/21 05:59:38
>>260
datepickerを先に作っておくと表示させたときにレイアウトがずれそうなんで
inputに設定して1回目選択で今日の日付と選択した日付の文字列をYY/MM/DD - YY/MM/DDのように生成
2回目以降は1つ前に選択した日付との文字列を生成する感じでやってるんですけど
1回ずつ消えるのが見ずらいのでどこかの解説サイトのようなところで1回のポップアップで2回選択していたのを見て
datepickerの設定でなんとかselectみたいなのをtrueにするだけでできるようだったので設定変えるだけでできるのかと思い質問させていただきました。


264:248
10/09/22 00:27:26
>>263
カラッポのDIVでずれちゃうようなタイトなレイアウトだと、確かに難しいかもしれませんね。
そういう話になってしまうと「本家のリファレンスを参照」としかいえません。
パっと見ではちょっとムリそうですが・・・お役に立てず申し訳ありません。

265:デフォルトの名無しさん
10/09/23 00:47:07
IE8, Firefoxで動作する、時刻入力補助のjQueryを探しています。
jquery.timepickr.js
が良さそうなのですが、IE8では動作しませんでした。

また、
URLリンク(jsajax.com)
にあるものもjquery-1.4.2ではレイアウトが崩れ、使えませんでした。

時刻の入力補助で良いものがありましたら教えていただけないでしょうか?

266:デフォルトの名無しさん
10/09/23 00:58:56
jquery.timepickr.js
が良さそうです

267:265
10/09/23 02:24:39
>>266
先ほど確認したら jquery.timepickr.js はデモサイトでIE8でも動いていていました(なんでだ?)
jquery.timepickr.js を導入しようと思い

URLリンク(code.google.com)

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

ダウンロードしたアーカイブ中のどのjs/cssを具体的に使用すれば正常に
デモのように動くかどなたかご存知ないでしょうか?

268:デフォルトの名無しさん
10/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:デフォルトの名無しさん
10/09/30 11:59:37
jQuery Alert Dialogプラグインを、
jQuery uiのDialogから呼ぶと、一瞬表示されて
すぐ次の処理に移ってしまうんだな。。。
これは困った。


270:デフォルトの名無しさん
10/10/04 02:11:53
jQuery + IE の select での change イベントの不具合って有名なんかな?
いっつもこれだけjQueryつかえずonchange使って回避してるけど、
いい加減面倒になってきた(´・ω・`)

271:デフォルトの名無しさん
10/10/06 03:35:52
>>270
1.4.2だとカーソルキーで変更時、changeイベント効かないようですね
URLリンク(d.hatena.ne.jp)

272:デフォルトの名無しさん
10/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:デフォルトの名無しさん
10/10/13 21:44:08
まさかIEじゃなかろうな

274:デフォルトの名無しさん
10/10/13 22:05:08
firefoxです

275:デフォルトの名無しさん
10/10/14 09:40:10
jQueryの、日本ユーザ向けのフォーラムってないよね。
2chだとコードがネストされてなくて読みづらいから、
誰か作ってちょーだい(=´∀`=人)

276:デフォルトの名無しさん
10/10/14 10:41:54
>>272
"[value=" + valIdx + "]"
ではなく、
'option:eq(' + i + ')'
としてみては?

↓に詳細を書いています。
URLリンク(d.hatena.ne.jp)

277:デフォルトの名無しさん
10/10/14 11:07:54
>272 optionを削除してもvalueは詰められないって分かってる?

278:272
10/10/14 11:56:33
>>276>>277
アドバイスありがとうございます。
option:eq使って、思った通りの処理ができました。
value値も、eq使って再構成できました。


279:デフォルトの名無しさん
10/10/21 15:21:34
すでに登録されているファンクションを取り出して実行したいと思い、
まず以下の2方法でファンクション取得を試みましたが、undefineになってしまいました。
ファンクション取得は出来ないのでしょうか?

jQuery("#save").attr("onclick")
jQuery("#save").attr("click")

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

とか?

281:デフォルトの名無しさん
10/10/21 17:48:48
半分寝てましたw

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

これでクリックイベントが起きるので、それに関連付けたファンクションが
定義されていれば、そのファンクションが実行されると思います。

282:デフォルトの名無しさん
10/10/21 18:00:56
$("#save").click( function(){
 alert("クリックされますた");
});

もしくは、

$("#save").bind("click", function(){
 alert("クリックされますた");
});


283:デフォルトの名無しさん
10/10/22 01:08:51
モバイル用がリリースされたね

284:デフォルトの名無しさん
10/10/22 12:03:13
<div id="hoge">
 <div id="hage">
   <div id="moge">
     ハゲ!
   </div>
 </div>
</div>

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



285:デフォルトの名無しさん
10/10/22 13:14:57
>>284
そのまま順に子供を選択していけばいいよ。

286:デフォルトの名無しさん
10/10/22 23:18:35
$('#hoge > div > div').text();
っていう書き方を知りたかったんじゃない?

287:デフォルトの名無しさん
10/10/22 23:40:38
$('#hoge > #hage > #moge').text();

って書ければ完璧なんだけど


288:デフォルトの名無しさん
10/10/23 00:09:34
>>287
それで問題なくできるよ

289:デフォルトの名無しさん
10/10/23 00:31:38
>>287
いや、それなら $('#moge') だけでいいじゃん。

290:デフォルトの名無しさん
10/10/23 00:36:18
それだと hoge hage に囲まれていない moge まで見つかってしまう

291:デフォルトの名無しさん
10/10/23 00:41:29
>>290
HTMLを勉強しなおせ
IDの値が重複することはあってはならない

292:デフォルトの名無しさん
10/10/23 00:45:03
>#hogeの下の#hageの下の#mogeのtextといった意味で

これは意味のあることなの?

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

まああえて擁護すれば、複数のページに同じjsを当ててて
このページではdiv#hage>div#hoge>div#mogeがあるけど
別のページではdiv#hageの内部にはないので、そのときは
jqueryを効かせたくない、というパターンはあるのであろう


294:デフォルトの名無しさん
10/10/23 10:04:35
jQuery UIのダイアログを1つのHTML内に複数入れて使うときとかは、
そういう使い方したいときはあるな。

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

確かにHTMLの仕様的にはよろしくないんだろうが、
業務としてWebアプリとか組んでる場合は、生産性とか保守性を考慮して
そういう実装にしたいケースは容易に想定できる。


295:デフォルトの名無しさん
10/10/23 20:53:31
>>294
例外を許容する事で、idセレクタ自体が意味を成さなくなる事の方が生産性や保守性に影響が出るんじゃね?

動的な親子関係を考慮するような場合は、
無理にセレクタで解決せず、jQueryのTraversing機能を使えばいい。
どうしてもセレクタだけで実装したいなら、id以外の属性を使うなりすればいい。

296:デフォルトの名無しさん
10/10/25 04:33:13
$("[id=hoge] > [id=hoge] > [id=moge]")
でどうでしょう?
teeda とか使ってると必要なケースもあるでしょう

297:デフォルトの名無しさん
10/10/25 06:32:55
>>296
だからなぜ id属性 を使うんだw
classなりrelなり、適当な属性作るなりしなよ。

298:デフォルトの名無しさん
10/10/25 11:58:48
構造に触れなくて実装側で吸収しなきゃいけないことなんて
いくらでもあるやないですか…。

299:デフォルトの名無しさん
10/10/25 12:22:53
そうそう、分業体制で短納期の仕事してると、
もう保守性とかいってらんない。
できるだけメンテしやすいようには心掛けるけど、
プロジェクトメンバーが1人抜け2人抜けしていくとね・・・


300:デフォルトの名無しさん
10/10/25 15:22:49
JSは弄れてHTMLは弄れない状況ってそうそう無いだろう
idをclassや別属性に置換えるのってそんな難しいか?

最低限の仕様も守れないのに保守性とか言われましても・・・
そりゃ馬鹿らしくなってスキルある人から辞めてくわw

301:デフォルトの名無しさん
10/10/25 19:09:07
300は、仕事でWeb開発を
やったことない人に見える

302:デフォルトの名無しさん
10/10/25 19:14:52
あれだろ、F1サーキットのアスファルトやるような業者が 駐車場のアスファルト業者に文句言ってるようなもんだ。
いいんだよ、ほっとけば。 そういうとこは、やっすい金額でへこへこ作ってる底辺の状況など想像もできないだろう。

303:デフォルトの名無しさん
10/10/25 19:28:58
>>302
こいつマジで頭悪いな。
そもそも自由でないことが問題なのに、もっと良くない例を持ち出して
そっちよりマシだから我慢しろとか、全くお門違いの指摘だね。
上下の差こそあれ悪いものは悪いんだよ。

304:デフォルトの名無しさん
10/10/25 19:30:17
そして煽り耐性すらないと・・・しかもそんなこと言ってないこと曲解w

305:デフォルトの名無しさん
10/10/25 20:59:04
どう考えてもid属性重複させちゃうような突貫工事しちゃう方がF1サーキットだろw

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

ブラック開発現場に洗脳されすぎじゃね?

306:デフォルトの名無しさん
10/10/25 21:28:55
世の中の中小Web開発系企業は大半がブラックだろ。
財閥系とか総研系にお勤めのお方は、
仕様を厳密に確認する余裕があってうらやましい限りですな。


307:デフォルトの名無しさん
10/10/25 22:05:18
言いたいことは解る。
数人~十数人規模の中小企業を何社か渡り歩いたが、
そこまでレベルの低い現場は見たことないな・・・専門学校生でも雇ってるの?
もしかして開発会社じゃなくて、火消し専門の運営会社なんじゃね?

308:デフォルトの名無しさん
10/10/25 22:10:53
POSTとGETの違いがわかりません><
絶対パスと相対パスがわかりません><
文字コードがわかりません><
CSSって何ですか!?><
id属性は重複しちゃいけないんですか!?><
jQueryいれれば全部解決なんです?><

え?常識?何いってるんですか、そんな厳密な仕様調べる余裕普通はないです><;;;

309:デフォルトの名無しさん
10/10/25 23:39:50
>>307
良い環境ばかり渡り歩いたんだね。
テラウラヤマシス

世間には、ブラックばかりを渡り歩く
悲しい人間もいることを、
時には思い出してやってください。。。
今のご時世、仕事選んでなんかいられないの。。。orz


310:デフォルトの名無しさん
10/10/27 09:55:03
ブラック自慢乙

311:デフォルトの名無しさん
10/10/27 12:44:53
ブラックしか行けない人ってのは、自分のスキルが無い事を自覚した方がいい・・・

312:デフォルトの名無しさん
10/10/27 12:51:15
そっすね

313:デフォルトの名無しさん
10/10/27 14:10:24
いやぁ、照れるじゃないか。

314:デフォルトの名無しさん
10/10/27 21:42:09
each(function(){
...
});
みたいなコード3個以上書いてると、
Rubyのブロックがセンスのいい構文だったんだなって気づく

315:デフォルトの名無しさん
10/10/27 23:11:42
eachって、遅いんでしょ?
forのほうが早いって、死んだ婆ちゃんが言ってた。

316:デフォルトの名無しさん
10/10/27 23:49:51
jQuery.each の事言ってるんじゃないの?forとは使う場面が異なる気が・・・

317:デフォルトの名無しさん
10/10/28 10:10:09
>>314
そして値とインデックスを受けとろうと
function(value, index) と書いてハマる罠。

318:デフォルトの名無しさん
10/10/29 11:58:16
jqplot で series に指定したライン毎のラベルを、
highlighter のときのポップアップに含めることはできないでしょうか?

series: [{label: "A"}, {label: "B"}],
highlighter: {formatString: "%L"}, ←のようにしたら "A" になるみたいなのが理想

319:デフォルトの名無しさん
10/10/29 12:08:16
もの凄く初心者的な質問で申し訳ないんですが、
変数の使い方で、

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

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

「jQuery $」とかでググっても、Google先生は記号をうまく
検索してくれないみたいで、毎日悶々と生活しています。
よろしくお願いいたします。


320:デフォルトの名無しさん
10/10/29 12:28:04
$ は jQuery のエイリアス
$() で jQuery() と一緒
関数を読んでいる

321:デフォルトの名無しさん
10/10/29 12:32:11
頭が悪いんですね、可哀想。

322:デフォルトの名無しさん
10/10/29 12:32:48
変数名に$をつけるのは、それがjQueryオブジェクトだと認識しやすくする為。


323:デフォルトの名無しさん
10/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:デフォルトの名無しさん
10/10/29 20:00:20
>$(XXX).html で埋め込んだHTMLの中にjQueryを埋め込んでも動作しなくて
>入れ子状態?とでも言えばいいのだろうか、

の意味がよくわらかんのだが、$(function() { ... });が実行されないという事?


325:デフォルトの名無しさん
10/10/29 20:12:23
live使えば? idが変わっても動くかどうかわからないけど。

326:319
10/10/29 20:47:35
>>320>>322
ありがとうございます。

いまいち理解できません。。。
jQueryの動作原理をよく理解せずに使ってることが
そもそもダメっぽいです。
基礎の基礎をやりなおしてきます。

327:デフォルトの名無しさん
10/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:デフォルトの名無しさん
10/10/30 13:18:09
>>322
なるほど!

329:デフォルトの名無しさん
10/10/30 15:04:34
>変数名に$をつけるのは、それがjQueryオブジェクトだと認識しやすくする為。

認識「しやすい」っていうのは抽象的というか曖昧だね。
認識「しにくい」場合ってあるの?
prototypeとか他のライブラリと被ったりする場合?


330:デフォルトの名無しさん
10/10/30 15:13:06
人間側の認識の話じゃない?

331:デフォルトの名無しさん
10/10/30 15:14:55
なるほど。

332:デフォルトの名無しさん
10/10/30 15:16:18
JavaScriptの仕様的には、変数名の先頭に
$付ける場合と付けない場合とで、
どういう違いがあるんだろう?


333:デフォルトの名無しさん
10/10/30 15:21:53
>>332
ない
変数名なんて別に日本語でもいいんだよ

334:デフォルトの名無しさん
10/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:デフォルトの名無しさん
10/10/30 16:17:27
>>334
rObj = ".jpg$"; にマッチしてねーんじゃね?
rObj = /jpg$/; と正規表現で書けばいーんじゃね?

336:デフォルトの名無しさん
10/10/30 16:27:01
>>335
いや、ちゃんとマッチングはしています
それはalertで確認していますので

337:デフォルトの名無しさん
10/10/30 16:31:19
>>336
uploadifyCancelはグローバルスコープの関数なん?

338:デフォルトの名無しさん
10/10/30 17:14:55
>>337
うっ、グローバルスコープかどうかは正直分からないです・・・
呼び出せていない可能性を忘れていました
調べても出てこないし、Uploadifyを使うのってマイナーなのかな・・・


339:デフォルトの名無しさん
10/10/30 17:28:26
>>338
uploadifyCancelでググった限りだけど
jQuery('#uploadify').uploadifyCancel(queueID); と書くっぽいね。

340:デフォルトの名無しさん
10/10/30 17:31:32
uploadify.phpは脆弱すぎるので、使わない方がええな・・・

341:デフォルトの名無しさん
10/10/30 18:01:04
>>339
おぉ、できました。ありがとうございます!!
よく見たら、確かにそう書いてあるのがありましたね・・・

>>340
まじすか・・・できたと思ったら・・・
うーん、他の方法も探してみることにします

342:デフォルトの名無しさん
10/10/30 23:51:03
>>341
いや、phpがしょぼいというか恐らくサンプル的なコードなだけで、
jsやswfはしっかりしてると思うよ。

343:デフォルトの名無しさん
10/11/04 12:27:19
>>325
>>327
遅レスだが大変参考になりました
ありがとうございます

>>324
基礎知識がないからかうまく説明できないのだけど
サンプルで書いたコードを実行しても
$("#change").click(function(){
の部分が実行されなくて困ってました
わかりづらくてスマソ

344:デフォルトの名無しさん
10/11/05 14:00:17
$はjQueryの略ですけど、$$って何ですか?

345:デフォルトの名無しさん
10/11/05 15:06:31
>>344
それprototype.jsとかじゃないの?jQueryは$とjQueryしかグローバル汚さないはずだけど

346:デフォルトの名無しさん
10/11/13 12:11:21
.fadeInとslideDownの効果を同時に使うって出来ますか?
スライドしながらボワっと現れるようにしたい

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

fadeInとslideDownの並びを逆にすると
スライドするけどフェードインしないってことになってしまいます


347:デフォルトの名無しさん
10/11/13 22:11:30
>>346
.animate()

348:デフォルトの名無しさん
10/11/14 01:56:34
このスレもっと活性化して欲しいage

349:デフォルトの名無しさん
10/11/14 15:16:55
>>347
出来た!ありがとうございました

350:デフォルトの名無しさん
10/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:デフォルトの名無しさん
10/11/15 14:35:35
どういう目的でfindを使おうとしてるのかわからない。
普通にこれじゃダメなの?

var fooValue = $('input#foo').val();

352:デフォルトの名無しさん
10/11/16 05:42:33
>>351
単純に上手く行かなかったから知りたいだけじゃない?

>>350
バージョン何?jQuery1.4.3と1.4.4+Mac Firefox3.5、chrome9でとりあえず試してみたけど上手くいったよ?

353:1/2
10/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を読み込んだところ、表の外枠は表示されるのですが中身のデータが表示されません。


354:1/2
10/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:デフォルトの名無しさん
10/11/17 10:59:31
'page'
'total'
'row'
かな?

356:デフォルトの名無しさん
10/11/17 11:04:42
ごめん、上の忘れて

調べてみます


357:デフォルトの名無しさん
10/11/17 12:42:27
flexigrid.jsの414行目

data.rows,



data.row,

にしたら表示されましたが他が原因だったらゴメン

358:デフォルトの名無しさん
10/11/18 08:30:14
>>354
そもそも、これJSON形式じゃなくね?

359:デフォルトの名無しさん
10/11/18 08:44:21
JSONは、>>353のほうでしょ

360:デフォルトの名無しさん
10/11/18 08:50:27
>>359
おっと、アンカー間違えた。>>353

361:デフォルトの名無しさん
10/11/18 09:36:55
こっちの勉強不足かもしらんが、JSONに見える

そうでない点を教えてくれるとありがたい

362:デフォルトの名無しさん
10/11/18 09:49:06
形式としては JSON ということで間違いないけど
jQuery が期待している JSON ではないということだ

363:デフォルトの名無しさん
10/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:デフォルトの名無しさん
10/11/26 17:03:56
:contains(text)に近いフィルタで、
正規表現にマッチするのを含むフィルタはありますでしょうか?

365:デフォルトの名無しさん
10/11/27 01:48:51
jquery.ajaxでの質問なのですが、非同期通信のためか、例えば以下のようなコードだと
通信が終わる前に次の関数(makeData)が呼び出されてしまいます。

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

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

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

function makeData(){
//通信が終わる前にこっちが呼び出される
}

366:デフォルトの名無しさん
10/11/27 03:35:04
コールバックかメソッドチェーンすればよいのでは?

367:デフォルトの名無しさん
10/11/27 13:12:38
makeData(); を
jQuery.ajax({
  (略)
ここに通信完了後の処理を書く場所がある
});
の中に書く

368:デフォルトの名無しさん
10/11/28 02:40:07
はじめまして。ご教示願いたいです。
appendを使ってHTMLにタグを挿入した後に、findを使うとappendで生成されたタグが検索対象に含まれません。
どの様にすればappendしたタグをfindの検索対象に含める事ができますかね。
よろしくお願い致します。

369:デフォルトの名無しさん
10/11/28 07:09:48
append

370:デフォルトの名無しさん
10/11/28 07:12:19
appendを使おうが何を使おうが関係なく後から作成された要素だからといってfndで検索できないことはありません。
動かないコードをさらせば?

371:デフォルトの名無しさん
10/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:デフォルトの名無しさん
10/11/28 22:42:21
jqueryってパフォーマンス悪い?


373:デフォルトの名無しさん
10/11/29 03:43:22
もともとパフォーマンスを考えたものではないだろう
とはいっても、そんなに悪くはない
悪いのはだいたい使い方の方だ

374:デフォルトの名無しさん
10/12/05 16:46:08
2種類のクラス、例えばabcとdefの両方を持つ要素の選択は
下記方法が考えられますが、それよりシンプルな書き方はありますでしょうか?
$('[class*=abc][class*=def]')

375:デフォルトの名無しさん
10/12/05 21:18:33
>>374
なぜそんな面倒くさいセレクタを使うんだ…
$('.abc.def')

376:デフォルトの名無しさん
10/12/05 21:36:26
>>375
だって、リファレンスで見つけられなかったんだもん

377:デフォルトの名無しさん
10/12/05 23:05:25
IE9で動くの?


378:デフォルトの名無しさん
10/12/05 23:33:24
IE6以上から動きます。

2001年という10年前のブラウザでも
JQueryがまともに動くのだからすごいとしか
言いようがありません。

379:デフォルトの名無しさん
10/12/05 23:37:41
IE6ってSP5くらいまで逝ってたんだっけ?

380:デフォルトの名無しさん
10/12/06 00:37:09
>>376
どこを見ているのか知らないが、クラスセレクタの項に書いてある
URLリンク(hp.vector.co.jp)

381:デフォルトの名無しさん
10/12/06 06:32:26
>>380
なるほど、jQueryでなく、スタイルシートの仕様に絡んでいるんですね。
参考になります。

382:デフォルトの名無しさん
10/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.
URLリンク(api.jquery.com)

383:デフォルトの名無しさん
10/12/07 07:08:45
リファレンスのサンプルにもあるなw
URLリンク(api.jquery.com)

384:デフォルトの名無しさん
10/12/12 01:49:53
jQueryで追加したHTML要素を、すべて元に戻すAPIってないですか。
1つずつ.remove()で消す、追加するHTMLに共通のclassをつけておいて.remove()、ってのが面倒で…。

385:デフォルトの名無しさん
10/12/12 03:14:21
reload

386:デフォルトの名無しさん
10/12/12 10:13:10
元々ある全ての要素にdeaultってclass付けておいて:notでremove()

387:デフォルトの名無しさん
10/12/12 12:47:27
>>384
自分でAPIを拡張するのが手っ取り早い。
DOMノードを挿入するAPIを拡張して、挿入したノードを配列に格納しておけばいいだろう。

388:デフォルトの名無しさん
10/12/13 23:18:59
$(document).ready(function() { ... }

が二回呼ばれているようなのだけど
jQueryでタグ追加とかしてもそんな挙動するわけないですよね

389:デフォルトの名無しさん
10/12/13 23:39:49
タグ追加の意味がわからんが
readyを何回書いても一回しか実行されないのは確かだ

390:デフォルトの名無しさん
10/12/14 13:26:06
document が2つあるとか

391:デフォルトの名無しさん
10/12/15 04:43:08
jquery-opacity-rollover.js
というプラグインを使っています
既存のhttpページで問題なく使えていたものが
httpsのページではエラーを吐いてしまいます

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

調べるとjQueryと$がエイリアスになっているらしいのですが
具体的に何のエイリアスになっているのでしょうか?
エイリアス元と置き換えたらエラー止まる…でしょうか?

392:デフォルトの名無しさん
10/12/15 06:53:51
$がjQueryのエイリアスなんじゃないの

393:デフォルトの名無しさん
10/12/15 07:46:20
>>391
googleのapi使ってjQuery呼んでないか?
ひょっとして。

394:デフォルトの名無しさん
10/12/15 10:53:10
>>391
> 既存のhttpページで問題なく使えていたものが
> httpsのページではエラーを吐いてしまいます

わかってるじゃん
関連ワードでググッてみれば

395:391
10/12/15 13:50:10
>>392
あ、そうなんですかー
となると最終行の})(jQuery); はjQueryって文字列を無名関数の引数にしてる?
わからん;;

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

>>394
https+jquery、SSL+jqueryでぐぐってみましたが…
関連ワードの選定がおかしい?

396:デフォルトの名無しさん
10/12/15 14:53:50
>他の読み込んでいるjsは全て消してみましたが解消せず

そりゃ消したら動く訳ないな

397:デフォルトの名無しさん
10/12/15 16:21:30
jquery-1.x.x.js も削除しているとか。

398:デフォルトの名無しさん
10/12/15 21:35:40
【C#, C♯, C#】 MonoMac 【MonoDevelop】
スレリンク(mac板)

詳しい奴、ちょっと↑きてくれ

399:デフォルトの名無しさん
10/12/16 01:31:33
>>391
httpのページではjQueryを読み込むscriptたぐあるけどhttpsのページではないってオチじゃないの?
jquery-opacity-rollover.jsの前にちゃんと読み込んでんの?

400:デフォルトの名無しさん
10/12/19 18:15:38
助けて誰か、誰か助けて
もうわけわからない、ぐぐってコピペしても動かない
もうだめだだめだだめだだめだ
ふぅ


scriptのsrcを入れ替えたいけれど、どう書けばいいのかわからんのです
誰か助けて
【javascript】
※.は2chの先頭半角除去回避
.<script>
.var videoId = 'sm1544885'
.var obj = $.get('URLリンク(ext.nicovideo.jp)' + 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="URLリンク(ext.nicovideo.jp)"></script></div>

401:デフォルトの名無しさん
10/12/19 18:16:32
先頭除去回避できなかった
死にたい

402:デフォルトの名無しさん
10/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:デフォルトの名無しさん
10/12/21 14:09:05
>>402
appendしてhtmlに書き出してるのならそれをJSONファイル分やれば全部書かれると思うけど
それだとダメなの?

404:デフォルトの名無しさん
10/12/21 14:31:27
前半に書きましたが、それはできています。



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

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



406:デフォルトの名無しさん
10/12/21 15:22:03
実際のコード晒してみてくれないとイメージが付かないな。
普通にtbodyにappendしていけば一つのテーブルに書き出せると思うんだけど。

407:デフォルトの名無しさん
10/12/21 15:30:34
次スレweb板でよくね?

408:デフォルトの名無しさん
10/12/21 16:33:12
($.getJSON() → $.each() で回してappend という処理をしています)
このappend先を1つのtbody若しくはtbody毎に区切ってappendしていけばOKな話じゃないのか

409:402
10/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:402
10/12/21 18:14:13
(JSONファイルは本当は改行して見やすい記述なのですが、改行が多すぎるという理由で書き込めなくてすみません)



411:402
10/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:デフォルトの名無しさん
10/12/21 19:01:58
時系列の話ならjQueryっていうよりどうやってソートするかのアルゴリズムの話だなぁ
とか思いながら眺めてみたらテーブルの構造が思った以上に複雑で笑った

それ、自分の感覚だとテーブルの作り方が直感的じゃないんだけど、1つのテーブルの場合はどういう作り方してんの?
yearでtr作って、その後配列の要素分だけtr作るとか?
そういう作り方なら同じようにmonを見て、既に同じ月があればrowspanに+1とtrを追加で地道にやったらいいんじゃないかね
それかJSONを3つ取った時点で一旦マージしてから作るかかな

413:デフォルトの名無しさん
10/12/21 19:10:10
それならJSONデータをマージして1個の大きなデータ作ってから
表示させるのが一番楽じゃないかなぁ
tr追加時にクラスに果物か牛肉かパンの情報与えておけば後で弄りやすいし
CSSもかけて良いと思うけど


414:デフォルトの名無しさん
10/12/21 19:11:25
更新せずに書いたら同様のレスが既にあった

415:デフォルトの名無しさん
10/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:デフォルトの名無しさん
10/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:デフォルトの名無しさん
10/12/21 22:56:01
>>415
自分でHTML書いてるのにvisibleの設定値より少なくなるってどんな状態だ?

418:デフォルトの名無しさん
10/12/21 23:05:50
>> 417
CMS使って、SNS見たいな感じのものをやりたくて。
その中の一部にカルーセルな機能を使いたいんです。
それぞれのユーザーごとにvisibleの設定を変えるのは面倒すぎるもので。。。

419:デフォルトの名無しさん
10/12/21 23:20:40
>>418
それならCMSで<ul>を作る時に一緒にvisibleの値を設定するのがいいと思うんだけど。
どうしてもJavaScriptでやりたいなら$('div.carousel > ul > li').lengthで値求めたらいいんじゃないかな

420:デフォルトの名無しさん
10/12/22 10:00:54
appendで思ったんだけど、生成されるhtmlってサーチエンジンから見るとどうなってんですか?

appendするんだから、ユーザーがそのページをロードしないと
コンテンツが存在しないわけじゃないですか?
サーチエンジンも、そこのロボットがページロードしてappendした内容をキャッシュするんでしょうか?

421:デフォルトの名無しさん
10/12/22 10:16:53
>>420
JavaScriptで生成される内容はクロール対象にならないから、
検索ボットに食わせたい内容ならJavaScriptでガリガリ書かない方がいいと思う
JavaScriptも解釈する検索ボットの話も出てるけどまだ現実的じゃないんじゃないかな
URLリンク(d.hatena.ne.jp)

422:デフォルトの名無しさん
10/12/22 10:36:58
ありがとうございます。なるほど。

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

例えばアマゾンのサイト内の商品のページってのは動的なコンテンツに見えますが
ググると上位に出て来ますよね。あれはどういうことなんですか?
自社内でいったん生成してキャッシュしてるのをクローラーに見せてるんでしょうか?


423:デフォルトの名無しさん
10/12/22 10:42:03
>例えばアマゾンのサイト内の商品のページってのは動的なコンテンツに見えますが

いや、商品名とかは普通に静的だろ・・・
まぁAmazonはCanonical URLとか小技使いまくってるけども

424:デフォルトの名無しさん
10/12/22 10:55:16
>>422の動的は多分PHPとかサーバーサイドでの動的って意味じゃないのかな・・・

425:デフォルトの名無しさん
10/12/22 12:06:19
スレチ気味ですみません

そうか。サーバー側で生成するものは動的なコンテンツでもクロールされるんですね。
アマゾンの検索結果ってあるじゃないですか。サイト内の検索窓にアーティスト名とかを入れて、関連商品がざーっと表示されますよね。
その「サイト内検索結果ページ」がグーグル上位(場合によっては1位)にあったりするのが???だったんです。

426:デフォルトの名無しさん
10/12/22 12:39:10
>>425
ブラウザでJavaScriptオフにした状態がクロールされると思えばいいよ

427:デフォルトの名無しさん
10/12/23 04:24:47
ASCII.jpの「40分で覚える!jQuery速習講座」
に載ってるアコーディオンパネルのサンプルコード
で、

$("+dd",this)

ってセレクタの記述が、jquery1.4.1だとうまく動くのに、
1.4.4だとうまく動かないのは、なぜ?

428:デフォルトの名無しさん
10/12/23 11:25:34
40分で書かれた本だから

429:デフォルトの名無しさん
10/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:デフォルトの名無しさん
10/12/24 23:33:09
>>427
もう解決策は出てるけど挙動が気になって確認してみたが、
1.4.2から1.4.3にバージョンアップした際にcss周りの処理を
高速化した影響っぽい。

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

デザイナーとの分業になってるとか、意図的にCSSのセレクタを
使いたい状況でもない限り、APIの方でアクセスした方が
将来的にも安心だろうな。


431:デフォルトの名無しさん
10/12/25 22:31:53
jQueryのプラグインの中を変更してるんだけど

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

とかやってるんだけどこれってどういう意味があるんでしょう?


432:デフォルトの名無しさん
10/12/25 22:49:06
それだけの情報じゃわからんだろw
もっとコード出すとかjQueryプラグインの名前出すとかしないと。
ただ、そのコード見るだけで判断すると単純にfuncMoveLeftってメソッドを定義してるだけだよね

433:デフォルトの名無しさん
10/12/25 22:51:19
>>431
その上に
var self = this
てのもあった

434:デフォルトの名無しさん
10/12/25 23:00:51
>>432
すいません。。
simplyScroll
URLリンク(logicbox.net)
っていうプラグインで
スライドショーの領域にhoverしたときにその中心とマウスの距離
流れる方向とスピードを変更する機能を追加しようとしてます。

でinitの処理内で
this.$container.mousemove(function(e){})
内でe.pageXとかは取得できるんですけど
その値をthis.o.speedに設定する方法が分かりません。
ひょっとしたらただのjavascriptのスコープの問題かもしれません。
分かりにくい説明ですいません

435:デフォルトの名無しさん
10/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:デフォルトの名無しさん
10/12/26 10:22:54
>>435
解決しました!
ありがとうございます。

437:デフォルトの名無しさん
10/12/26 11:00:27
すげー。

438:デフォルトの名無しさん
10/12/26 21:07:32
つーか、thisの扱いをどうするかなんて常識だろ。


439:デフォルトの名無しさん
10/12/29 01:49:13
リンクがクリックされたらjquery.loadで外部ページを読み込んでページの一部を書き換える処理を書いたのですが、
これに加えて、jquery.loadでのページ読み込みが完了したら元ページの一番上(スクロールバーが一番上にある状態)に移動したいのですが、
どのような処理を書いたら良いのでしょうか?

440:デフォルトの名無しさん
10/12/29 02:08:02
>>439
書き換え終わった後で
$(document).scrollTop(0)
とかやったらいいんじゃない?

441:デフォルトの名無しさん
10/12/29 04:13:03
$('#result').load('ajax/test.html', function() {
alert('Load was performed.');
});

442:デフォルトの名無しさん
10/12/29 16:35:59
>>440
できました。
ありがとうございます。

443:デフォルトの名無しさん
10/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プロパティに値を代入させるには
どう書けばよいのでしょうか?

アドバイスいただけると幸いです。


次ページ
最新レス表示
レスジャンプ
類似スレ一覧
スレッドの検索
話題のニュース
おまかせリスト
オプション
しおりを挟む
スレッドに書込
スレッドの一覧
暇つぶし2ch