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週間程度です。

56 :デフォルトの名無しさん:2009/10/06(火) 00:09:11
$('input:submit').click(function(){
switch($(this).attr('id')) {
.........
....
.........
.......
}
});

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

ばーかあほまぬけ糞
しんでこいヴぉけ

64 :デフォルトの名無しさん:2009/10/06(火) 12:20:08
なんで?おなじファンクション通したいならID複数並べてセレクタ指定しても、
$('input:submit')でも同じじゃん。
どうせあとでIDで振り分けるんでしょ?
要は

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

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

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

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

<input type="submit" title="渡す値">
<input type="submit" title="渡す値2">

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

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

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 :151:2010/05/02(日) 22:02:45
>>152
あ、私がやりたかったことに沿っていたのであまり気にしてませんでしたが、
確かに引用文元からの文脈でみると勘違いしているようですね。

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

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");

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") も動きます。


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

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

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

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


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

248 :244:2010/09/03(金) 23:19:29
>>246
なんとか自己解決しました。大まかには

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

・・・という手順で、概ね意図した動作になりました。
datePickerのonSelectでは$(this)が使えないので、inst.inputから引っ張ってこなければならなかったのがちょっと難しかったですね。

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>

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で確認していますので

353 :1/2:2010/11/16(火) 22:06:03
jquery+flexigridで表を作成しております。

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

この形のJSONを読み込んだところ、表の外枠は表示されるのですが中身のデータが表示されません。


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

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

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

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年」アンカーリンクのクリックで
その年だけのテーブル表示

よろしくお願いします。

506 :デフォルトの名無しさん:2011/02/02(水) 18:46:54
jqueryってブラウザ間の差異を吸収してくれるんですよね
ひとつのブラウザでテストすれば
jqueryがサポートしている他のブラウザどれでも同じように動くと思って問題ないですか?

507 :デフォルトの名無しさん:2011/02/02(水) 19:33:14
>>506
そうは言ってもIEの糞さは想定を上回る
FirefoxとChromeだとスムースなアニメーションが
IEのだとカックカクな時があるので
念のため確認しておいたほうがいい

613 :デフォルトの名無しさん:2011/04/20(水) 22:51:02.90
<div>
<form
テキストフィールド、ボタンなど
/form>
</div>

ボタンを押すと↑のようなフォームがslideDown、slideUpで表示させたり消したり
させる物と作ってます。
slideDownの時はいいんですがslideUpの時に
徐々にフォームが消えていって消える直前にフォーム全体が一瞬表示されて
その後完全に消える状態になってしまっています。
フォームのmarginを無くしたり<P>で包んで見たりと色々と試してみたのですが解決できません
何かわかる方お願いします。

644 :デフォルトの名無しさん:2011/05/16(月) 22:05:37.44
jqueryを学びはじめたばかりなのですが
$("div").find("span")と
$("div span")って
同じですか?どっちがいいんですか?
ほかにも同じようなことをいろんな書き方でできるような感じですが
とりあえず思い通りに動けばあんまり気にしなくてもいいんですか?

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'; //設定

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

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

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

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

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

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

どなたか「jquery-tubular」のサンプルファイルに「Vegas Background」でドットスクリーンを適用する為のソース記述を教えて頂けないでしょうか?

736 :デフォルトの名無しさん:2011/08/01(月) 10:02:07.09
>>735
http://www.skuare.net/test/jtubular.html
ここのサンプルページをDeveloperToolsでいじってみただけだけど
div#video-coverにbackground: (0,0,0, .8);とか指定したら反映された

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

http://www.dotup.org/uploda/www.dotup.org1852771.png

737 :735:2011/08/01(月) 10:55:00.98
>>736

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

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

ここからDL出来るサンプルファイルを改変するカタチでご教授して頂ける方は居ませんでしょうか?

738 :デフォルトの名無しさん:2011/08/01(月) 11:33:44.00
>>737
あくまで俺が提案した方法でよければって話だけど
ドットパターン画像を自分で用意して、

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

↓以下を記述
div#video-cover {
background: url("画像URL") repeat;
}

783 :デフォルトの名無しさん:2011/08/30(火) 22:41:23.77
$(document).ready(function(){/*ここ*/})
$(function(){/*ここ*/})
このタイミングで、このコードが書かれたscript要素ノード(外部orインライン)を取得するにはどうすればいいですか?
idを振るとかではなく
>とてもシンプルに自分自身が属する script 要素を取得 - IT戦記
>http://d.hatena.ne.jp/amachang/20061201/1164986067
みたいなことを
$(document).readyの関数内でやりたいです


http://hibari.2ch.net/test/read.cgi/tech/1229881548/l50人気ブログランキングへ