元スレ【jQuery】JavaScript ライブラリ総合質問所 vol.2
JavaScript覧 / PC版 /みんなの評価 :
551 = :
違うけど、それはそういうもの
最初からdisplay:noneをセットするアホもたまにいるが、
あくせし何とかを考えればあり得ない
552 :
553 :
554 = :
ノードとセレクタはどう違いますか?
ノードはjavascriptで使いセレクタはcssで使うものであることは知っています。
jsもセレクタで動くことも多いけれどもノードを使わないと正常に稼働しないみたいですが・・・
555 = :
セレクタは、DOM要素のノードを指定するための手段ではないの?
>「セレクタを使用した DOM 要素の指定」
>セレクタ API により提供されるメソッドを用いることで、セレクタのセットにマッチする
>要素ノードを簡単に、かつ手早く DOM から抽出することができます。
http://developer.mozilla.org/ja/docs/DOM/Locating_DOM_elements_using_selectors
558 :
559 :
560 = :
>>554
ノードは文書を構成する要素や属性、テキスト、コメントなど1つ1つのモノ
セレクタはHTML要素を文書内から抽出するための、決まった文法に則った文字列
> ノードはjavascriptで使いセレクタはcssで使うものであることは知っています。
セレクタの考え方や文法をJavaScriptに持ってきて使っている部分もある
> jsもセレクタで動くことも多いけれどもノードを使わないと正常に稼働しないみたいですが・・・
すごーく意味不明なのでもうちょっと詳しく
561 = :
JQueryでメール書式をチェックしたいのですが
var emailReg = eval( /^([w-.]+@([w-]+.)+[w-]{2,4})?$/ );
下記のエラーはどの文字について指摘しているのでしょう?
SyntaxError: Invalid regular expression: range out of order in character class.
562 = 559 :
563 = :
文字クラス
564 = :
jQuery Mobileでヘッダバーを動的に後から作るにはどうしたら良いのかな?
1HTMLに複数ページをもたせる場合、ヘッダーやフッターを毎回同じ物を
書くのは、ヘッダーに表示するものの仕様が変わったりした時に修正量が
増えるから、動的に突っ込みたい。
<div data-role="page" id="page-1">
<div class="dynamic-header"></div>
</div>
<script>
$(document).on('pageshow', "#page-1", function(){
var htmlHeader = '';
htmlHeader += '<div data-role="header" data-position="fixed">';
htmlHeader += '<h1>動的ヘッダ</h1>';
htmlHeader += '</div>';
$(".dynamic-header").replaceWith(htmlHeader).trigger('refresh');
});
</script>
こんな感じでやりたいんだけど、ベタで描いた時と動的に書いた時とで
表示が全然異なってしまう。
565 :
566 = :
>>564
jQuery Mobileはわかんないけど、jQueryだったら、
一度だけHTMLで記述し、それを必要な部分にcloneしまくればいいよ。
必要に応じてattrでidを変更できるしね。
567 = :
>>566
レスありがと
jQueryなら何も考えずにDOM操作だけでイケるんだけど
jQuery Mobileは動的にフォームやheader/footerを後から
追加したりするときは、おまじないかけてやる必要があるのよ。
んで、>>564は解決できた。JS部分を
$(document).on('pagebeforeshow', '#page-1', function(){
var htmlHeader = '';
htmlHeader += '<div data-role="header" data-position="fixed" class="dynamic-header">';
htmlHeader += '<h1>動的ヘッダ</h1>';
htmlHeader += '</div>';
$(".dynamic-header").replaceWith(htmlHeader);
$('#page-1').trigger('pagecreate');
});
ってやったら、意図した動きになった。
569 = :
>>568
まあ、画像ファイル名と候補リストが同じだからできたけど、
候補リスト作ってるところがあるからそこに無理やりimg追加したわ
570 = :
>>569
なんとなくわかってきました
ありがとう
571 :
572 :
573 = 572 :
574 :
576 = :
何のライブラリか書かれていないがjQueryだとして、
$("div").contents().filter(function() {
return this.nodeType == 3;
});
あとはnodeValueなり$.textで煮るなり焼くなり
577 :
578 :
579 :
もうギブどす。どなたか教えてください。
そこら辺に転がっているjQueryだと、マウスオーバーでツールチップを出すと、
リンクしたテキストから少しでもカーソルが離れると消えちゃいますよね。
でも2chビューワーやp2の安価って、リンクから離れても
ツールチップにカーソルがのってればずっと表示してますよね。
これってどうやって実現しているのでしょうか。
ヒントだけでいいので、仕組みをご存知の方いないでしょうか。
580 = 578 :
581 = :
「そこら辺に転がっているjQuery」というのがよくわからんけど
そこら辺に転がっていない正式なものを手に入れればいい。
んで、マウスフォーカスが外れても、ツールチップが消えないようにすればいいだけ。
582 = :
hoverの第二引数で消していた処理を外すだけじゃん
583 :
584 :
マウスオーバーで表示、マウスアウトで非表示。
共に対応する処理を行っています。
つまり、マウスアウトの処理を行わない様にすれば良いです。
ただ、その場合、『どのタイミングで消すか』と言う問題が残ります。
閉じるボタンを付けるのが多いと思いますが、ユーザーからすると一手間入るので面倒かもしれません。
585 :
586 = :
>>581-584
たんくすぽん。
アッシにはムリぽなので諦めます。。。
587 = :
タイミング制御ならsetTimeout使えばいいよ。
ちょっとクセがあるけど。
588 :
589 :
590 = :
ローカルで構築中のページにjquery lightbox0.5を設置しているのですが
IE(確認に使ったのは9)でのみ、prev,nextボタンをクリックした際に
点線が現れてしまうのを消したいです。散々ググりましたがお手上げです…。
591 :
592 = 591 :
593 = :
以下のコードについて、
console.logで確認した限りではjqueryオブジェクトは存在しているようなのですがpop.append('<li>a</li>');が動作しません。
どう直すか、ではなくどうして動かないのかご存知の方おられましたらご教授願います。
<!DOCTYPE html><html lang="ja"><head><meta charset="utf-8"/><script src="//ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script><script>
(function( window, undefined ){
var pop = $('#pop');
var Log = function(){
};
Log.prototype = {
add: function(){
/* ここ */
console.log(pop.append);
pop.append('<li>a</li>');
}
};
window.Log = Log;
}( window ));
$(document).ready(function(){
var log = new Log();
log.add();
});
</script></head><body>
<ul id="pop"></ul>
</body></html>
594 = :
数時間調べ続けましたが解らないので質問させてください。
jquery.uploadについてなのですが、例えば下記のようにしたときに、
$('input[type=file]').change(function() {
$(this).upload('/action/to/upload', function(res) {
// ~A処理~
}, 'json');
// ~B処理~
});
A処理を行う前にB処理が行われてしまうのですが、
これを、A処理を完了させてから、B処理に進めさせるにはどうしたら良いでしょうか?
595 = :
>>593
$('#pop');が呼ばれたときには <ul id="pop"></ul> がまだないから。
596 = :
>>594
B処理を関数にしてA処理の最後でそれを呼び出す。
597 = :
>>595
ありがとうございました。
599 = :
>>596
すみません書き方が悪かったです。もう少し詳しく書きますと
実は非同期通信のアップロード掲示板が作りたくて、
フォーム送信時にeach関数を使ってinput要素を順に取得し、その中でfile属性があった場合
jquery.uploadを使ってファイルアップロードしようと試みていました。
$("form").submit(function() {
var postData = {};
$(this).find('input').each(function() {
if ($(this).prop('type') == 'radio' || $(this).prop('type') == "checkbox") {
if ($(this).is(':checked')) {
postData[$(this).prop('name')] = $(this).val();
}
} else if ($(this).prop('type') == 'file') {
$(this).upload('upload.php', function(res) {
postData[$(this).prop('name')] = res.file; // ※1 アップしたファイル名を返す
}, 'json');
} else {
postData[$(this).prop('name')] = $(this).val();
}
});
$.post('script.php', postData, function(data) { ※2
// 書き込み後処理
});
return false;
});
上記のようなソースなのですが、※1で代入されたファイル名を※2でPOST送信したいのです。
本当はフォームデータをまとめてuploadに乗っけて送信しても良いのですが、出来たら分けて送信したいと思っています。
何か良い方法ありましたら教えてください。
600 :
類似してるかもしれないスレッド
- 【jQuery】JavaScript ライブラリ総合質問所 vol.3 (1001) - [98%] - 2014/6/18 20:58 △
- 【jQuery】JavaScript ライブラリ総合質問所 vol.1 (983) - [98%] - 2012/10/8 22:30
- JavaScript ライブラリ総合質問所 vol.5 (344) - [75%] - 2022/3/14 17:45
- JavaScript ライブラリ総合質問所 vol.4 (985) - [75%] - 2015/12/16 15:00
- jQuery ライブラリ 総合質問所 vol.4 (986) - [65%] - 2016/1/12 15:15
- 1行javascriptプログラミング (431) - [30%] - 2022/8/23 15:30
トップメニューへ / →のくす牧場書庫について