私的良スレ書庫
不明な単語は2ch用語を / 要望・削除依頼は掲示板へ。不適切な画像報告もこちらへどうぞ。 / 管理情報はtwitterでログインするとレス評価できます。 登録ユーザには一部の画像が表示されますので、問題のある画像や記述を含むレスに「禁」ボタンを押してください。
元スレJavaScript ライブラリ総合質問所 vol.4
JavaScript スレッド一覧へ / JavaScript とは? / 携帯版 / dat(gz)で取得 / トップメニューみんなの評価 :
レスフィルター : (試験中)
jqueryっていつのまにか勝手にCSSのベンダープリフィックスをつけるようになったんですか?
jqueryで$("ul", "li")
みたいにセレクターを2つの引数にわけて書く方法を見たんですがこれはjqueryのどのページで説明されてますか?
みたいにセレクターを2つの引数にわけて書く方法を見たんですがこれはjqueryのどのページで説明されてますか?
なるほど、書いてました
$("ul", "li")じゃなくて$("li", "ul")ですね
$("ul", "li")じゃなくて$("li", "ul")ですね
>>904
勘違いしているようだが、selectorを分けて書いてるわけではないから、そのコードは動かないぞ
勘違いしているようだが、selectorを分けて書いてるわけではないから、そのコードは動かないぞ
え、http://api.jquery.com/jQuery/#jQuery2のことですよね
第二引数が親要素、第一引数がその子要素ってことじゃないんですか?
第二引数が親要素、第一引数がその子要素ってことじゃないんですか?
>>901
そういやそんな機能あったね。
調べてみたら1.8からみたい。
まあ、jQueryでCSSを書き換えるべきではない。
クラスを変えるべきって思っているから
あんまり気にするところだとは思わないけど。
そういやそんな機能あったね。
調べてみたら1.8からみたい。
まあ、jQueryでCSSを書き換えるべきではない。
クラスを変えるべきって思っているから
あんまり気にするところだとは思わないけど。
>>902
これの使い方いまいちよくわからないんだよね。
$("ul").find("li")でできるじゃん?
短く書くことは出来る。でもそれぐらいしか違いがわからない。
速いのかと思えば、findの方が速いって記事もあるし。
一体何を想定して作られたんだろう?
これの使い方いまいちよくわからないんだよね。
$("ul").find("li")でできるじゃん?
短く書くことは出来る。でもそれぐらいしか違いがわからない。
速いのかと思えば、findの方が速いって記事もあるし。
一体何を想定して作られたんだろう?
htmlStringは<から始まってないとダメだから
http://api.jquery.com/jQuery/#jQuery-selector-context
こっちだね
jQuery( selector [, context ] ) は内部的には jQuery(context).find(selector) と同じだから、
今はちゃんと動くけど
context
Type: Element or jQuery
ってなってるから、あやしいと思うんだけどね
http://api.jquery.com/jQuery/#jQuery-selector-context
こっちだね
jQuery( selector [, context ] ) は内部的には jQuery(context).find(selector) と同じだから、
今はちゃんと動くけど
context
Type: Element or jQuery
ってなってるから、あやしいと思うんだけどね
>>910
他のは使い方が違ったり、readyとかは
「よく使うから短く」という考えで理解できるんだよ。
だけど、$("li", "ul") はそんな感じがしないんだよね。
引数が逆になってるのが気持ち悪いのかな?
第二引数で親要素を指定できる必要があったのだろうか?って考えてしまう。
もしかして本当はこうやって使うものだろうか?
$('li', element);
つまり第二引数はセレクタではなく親要素
これだと$(element)に比べて、jQueryオブジェクトを作らなくていい
(内部的に作ってないのかどうかは知らない)から
パフォーマンスが高い(かは調べてない)とか?
他のは使い方が違ったり、readyとかは
「よく使うから短く」という考えで理解できるんだよ。
だけど、$("li", "ul") はそんな感じがしないんだよね。
引数が逆になってるのが気持ち悪いのかな?
第二引数で親要素を指定できる必要があったのだろうか?って考えてしまう。
もしかして本当はこうやって使うものだろうか?
$('li', element);
つまり第二引数はセレクタではなく親要素
これだと$(element)に比べて、jQueryオブジェクトを作らなくていい
(内部的に作ってないのかどうかは知らない)から
パフォーマンスが高い(かは調べてない)とか?
そうそう>>906の正しい方には、contextって書いてあるんだよな。
jQueryでいうcontextってなんなんだろうか?
って思ったら、addとかにもcontextあるのか?
そして、deprecatedになっている.contextプロパティ。
もしかして古いjQueryの仕様なのかな?
jQueryでいうcontextってなんなんだろうか?
って思ったら、addとかにもcontextあるのか?
そして、deprecatedになっている.contextプロパティ。
もしかして古いjQueryの仕様なのかな?
> context
> Type: Element or jQuery
> A DOM Element, Document, or jQuery to use as context
ちゃんと書いてあるだろ
原文読まずにいい加減に脳内補完するから迷うんだ
> Type: Element or jQuery
> A DOM Element, Document, or jQuery to use as context
ちゃんと書いてあるだろ
原文読まずにいい加減に脳内補完するから迷うんだ
$("li", "ul")でも動くけど$("li", "<ul>")って違いなくない?
別に<>で囲まなくてもelementとして認識してるんじゃないの?
別に<>で囲まなくてもelementとして認識してるんじゃないの?
>>917
>>914にいってる
セレクター文字列を渡す仕様なんてどこにも書かれてないだろ
どこをどう読んだらそんな解釈になるんだ?
実際、動くことは動くが、jQuery仕様外の動作の上に子孫セレクタを使っているのと何も変わらん
http://jsfiddle.net/uyojzsj6/
>>914にいってる
セレクター文字列を渡す仕様なんてどこにも書かれてないだろ
どこをどう読んだらそんな解釈になるんだ?
実際、動くことは動くが、jQuery仕様外の動作の上に子孫セレクタを使っているのと何も変わらん
http://jsfiddle.net/uyojzsj6/
そう、つまり第2引数で
Type: Element or jQuery
であることのチェックをしてないだけだね
リリースノートにもかかれずに変更される事もありえる
(ドキュメントが実装に合わせて変わる可能性もあるけど)
Type: Element or jQuery
であることのチェックをしてないだけだね
リリースノートにもかかれずに変更される事もありえる
(ドキュメントが実装に合わせて変わる可能性もあるけど)
$()の2番目の引数は、検索対象の文書を指定する時に使う。
$(selector, window.opener.document)
→親ウインドウの文書から検索
$(selector, window.opener.document)
→親ウインドウの文書から検索
$(window.opener.document).find(selector)
これでもいいけどね。
ここに書いてあるとおり、findで実装されているわけで。
http://api.jquery.com/jQuery/
> Internally, selector context is implemented with the .find() method, so $( "span", this ) is equivalent to $( this ).find( "span" ).
これでもいいけどね。
ここに書いてあるとおり、findで実装されているわけで。
http://api.jquery.com/jQuery/
> Internally, selector context is implemented with the .find() method, so $( "span", this ) is equivalent to $( this ).find( "span" ).
$(':first-child', parent)
こうかけるから楽
parent.children().eq(0)はメモリの無駄遣い
こうかけるから楽
parent.children().eq(0)はメモリの無駄遣い
当然だが、 $(parent).find(':first-child') こうもかける
そしてfindで実装しているということから
容易に推測可能だと思うがfindの方が速い
そしてfindで実装しているということから
容易に推測可能だと思うがfindの方が速い
>>925
1度イベントが発生したら関数を登録しなおせばいいのでは?
1度イベントが発生したら関数を登録しなおせばいいのでは?
>>926
ありがとうございます。
下記の方法で解決しました。
①外部サイトをphpで取得、遷移発火部分のクリックイベントをキャッチし②を操作
②上記①をiframeで読み込む。クリックイベントによりiframeを非表示
ありがとうございます。
下記の方法で解決しました。
①外部サイトをphpで取得、遷移発火部分のクリックイベントをキャッチし②を操作
②上記①をiframeで読み込む。クリックイベントによりiframeを非表示
こんにちは!
【環境】IE8, Chrome
【ライブラリ】jQuery UI
【何をしたのか】
【期待する結果】
下記のようにHTML要素をボタンクリックで横に動かしたいのですが
どのように書けばよいでしょうか?
ボタン ボタン
↓ ↓
【prev】 (テキスト)【next】
【環境】IE8, Chrome
【ライブラリ】jQuery UI
【何をしたのか】
【期待する結果】
下記のようにHTML要素をボタンクリックで横に動かしたいのですが
どのように書けばよいでしょうか?
ボタン ボタン
↓ ↓
【prev】 (テキスト)【next】
ビッ○カメラ札幌店の副店長の佐藤伸弦が暴行事件が起きていた
佐藤伸弦 佐藤伸弦 佐藤伸弦 佐藤伸弦 佐藤伸弦
佐藤伸弦 佐藤伸弦 佐藤伸弦 佐藤伸弦 佐藤伸弦
佐藤伸弦 佐藤伸弦 佐藤伸弦 佐藤伸弦 佐藤伸弦
佐藤伸弦 佐藤伸弦 佐藤伸弦 佐藤伸弦 佐藤伸弦
佐藤伸弦 佐藤伸弦 佐藤伸弦 佐藤伸弦 佐藤伸弦
佐藤伸弦 佐藤伸弦 佐藤伸弦 佐藤伸弦 佐藤伸弦
佐藤伸弦 佐藤伸弦 佐藤伸弦 佐藤伸弦 佐藤伸弦
佐藤伸弦 佐藤伸弦 佐藤伸弦 佐藤伸弦 佐藤伸弦
佐藤伸弦 佐藤伸弦 佐藤伸弦 佐藤伸弦 佐藤伸弦
佐藤伸弦 佐藤伸弦 佐藤伸弦 佐藤伸弦 佐藤伸弦
>>931
datasetを操作しないからです
datasetを操作しないからです
初心者で申し訳ございません。
$("#id").animate({left: '-=100px'});
で クリックすると永遠横に動きます…
クリックして動かせる範囲は指定出来ますでしょうか。
$("#id").animate({left: '-=100px'});
で クリックすると永遠横に動きます…
クリックして動かせる範囲は指定出来ますでしょうか。
>>937
>>936にも書いてあるけどHTML(属性含む)は初期値を示す
バグではなくドキュメントにも明記してあるから想像で書き込まずにまず確認しよう
http://api.jquery.com/data/#data-html5
> The data- attributes are pulled in the first time the data property is accessed and then are no longer accessed or mutated
ちなみにjQuery 1.4.2以前では、HTMLのdata-***属性は jQueryの.data()の初期値ですらなかった
data-***属性が初期値であるのはおまけ程度に考えたほうがいいだろう
>>936にも書いてあるけどHTML(属性含む)は初期値を示す
バグではなくドキュメントにも明記してあるから想像で書き込まずにまず確認しよう
http://api.jquery.com/data/#data-html5
> The data- attributes are pulled in the first time the data property is accessed and then are no longer accessed or mutated
ちなみにjQuery 1.4.2以前では、HTMLのdata-***属性は jQueryの.data()の初期値ですらなかった
data-***属性が初期値であるのはおまけ程度に考えたほうがいいだろう
data-* 属性は文字列でなくてはいけない
.data()でセットできるのはオブジェクト
これを考えてみると、.data()にセットしたものをdata-*属性に反映させるというのが
無茶というのがわかるでしょう
ちなみに、data-*属性にJSON形式でセットしておくと、
.data() で取り出した時にはデコードされている
これを可逆にするんなら、.data()でセットできるオブジェクトは
JSON形式にできるものだけになっちゃう
これも今更無理
.data()でセットできるのはオブジェクト
これを考えてみると、.data()にセットしたものをdata-*属性に反映させるというのが
無茶というのがわかるでしょう
ちなみに、data-*属性にJSON形式でセットしておくと、
.data() で取り出した時にはデコードされている
これを可逆にするんなら、.data()でセットできるオブジェクトは
JSON形式にできるものだけになっちゃう
これも今更無理
文字列でなければならないのではなく、HTMLの属性値なので取得時にJSの文字列になりますよということ。与える時には数値でも何でもよくて、それをJSでsetAttribute() すれば文字列表現に変換される。
無茶でも何でもない。JSのオブジェクトリテラルをそのままセットすれば良いだけ。
無茶でも何でもない。JSのオブジェクトリテラルをそのままセットすれば良いだけ。
何故JSON?
その略語を展開すれば解ると思うが、そもそもそれはJSのオブジェクトリテラルに制限を付けたサブセットだ。
だから、JSのオブジェクトリテラルそのままを書けば良いだけ。
もっと古きを言えば、そもそもオブジェクトリテラル自体は読み取り時の表現形式だったが、17年前くらいにJSコードで書けるようになった。JSのデータ表現文字列としてはそれ以前の本当に初期から存在するのに知らないとかどうかしてるだろ君は草
その略語を展開すれば解ると思うが、そもそもそれはJSのオブジェクトリテラルに制限を付けたサブセットだ。
だから、JSのオブジェクトリテラルそのままを書けば良いだけ。
もっと古きを言えば、そもそもオブジェクトリテラル自体は読み取り時の表現形式だったが、17年前くらいにJSコードで書けるようになった。JSのデータ表現文字列としてはそれ以前の本当に初期から存在するのに知らないとかどうかしてるだろ君は草
ていうか、IE4からIEには18年もexpandoプロパティというものがあってだな、data-* なんてのはそれをパクった上に属性名(JS用語だとプロパティ名)を別物にしてIE非対応としてIEを貶めるための嫌らしい政治的戦略なわけだ。
とりあえずそのexpandoには何でもセット出来た。
もっと言えばだな、IE5.5には#default#userDataというものがあってだな、その中でmsxmlやり放題だったわけ。その超絶有用な発展的独自仕様を捨てるそうだが、糞なHTML5にダウングレードするのは楽だがアホらしい作業だろうなと同情するわ。
とりあえずそのexpandoには何でもセット出来た。
もっと言えばだな、IE5.5には#default#userDataというものがあってだな、その中でmsxmlやり放題だったわけ。その超絶有用な発展的独自仕様を捨てるそうだが、糞なHTML5にダウングレードするのは楽だがアホらしい作業だろうなと同情するわ。
まあとりあえずそのjQueryの実装は手抜きだな。
飽きてんだろうな、ソース読んでもテキトーにやってます感が漂っている感じがする。
jQuery終わっとるな。
たぶん、backbonejs未満のヘルパーライブラリーに集約されるんだろうな。
要らん工夫は要らんと。
たとえば、今更のprototypejsをprototypeじゃなくてオブジェクト(いわゆるクラス)のメソッドとして定義する。
使う時はcall/apply強制ということ。
たとえば今のArray.map(ArrayLike, ...thisObj)みたいな使い方。
しかしこれは現在猛烈に普及中のアロー関数で面倒くさいことになる。
なかなかうまくいかないねえ。
飽きてんだろうな、ソース読んでもテキトーにやってます感が漂っている感じがする。
jQuery終わっとるな。
たぶん、backbonejs未満のヘルパーライブラリーに集約されるんだろうな。
要らん工夫は要らんと。
たとえば、今更のprototypejsをprototypeじゃなくてオブジェクト(いわゆるクラス)のメソッドとして定義する。
使う時はcall/apply強制ということ。
たとえば今のArray.map(ArrayLike, ...thisObj)みたいな使い方。
しかしこれは現在猛烈に普及中のアロー関数で面倒くさいことになる。
なかなかうまくいかないねえ。
ソース読むだけでテキトーかどうかわかるのか。凄いなあ
俺もその能力が欲しい
俺もその能力が欲しい
JSON形式にしてセットする仕様だとして
var a = {};
a.foo = a;
$('div').data('bar', a);
としたらどうなるか考えて見ればいい
var a = {};
a.foo = a;
$('div').data('bar', a);
としたらどうなるか考えて見ればいい
>>942
data-*属性に格納する例だからJSONなのでは?
data-*属性に格納する例だからJSONなのでは?
>>944
> まあとりあえずそのjQueryの実装は手抜きだな。
違うよ。よりよい実装だよ。
例えば、element.onclickに代入しても、
要素のonclick属性は作られない。
それと一緒だよ。
> まあとりあえずそのjQueryの実装は手抜きだな。
違うよ。よりよい実装だよ。
例えば、element.onclickに代入しても、
要素のonclick属性は作られない。
それと一緒だよ。
>>947
じゃあこれだとどうなると思う?
var a = {}
a.foo = function() {};
a.bar = new Bar();
$('div').data('bar', a);
要素に紐付けたいデータというのは
文字列に出来るものだけじゃなくて、
オブジェクトも有りえるんだよ。
datasetで出来るのは文字列で表せるものだけ。
だから限界があるんだよね。
じゃあこれだとどうなると思う?
var a = {}
a.foo = function() {};
a.bar = new Bar();
$('div').data('bar', a);
要素に紐付けたいデータというのは
文字列に出来るものだけじゃなくて、
オブジェクトも有りえるんだよ。
datasetで出来るのは文字列で表せるものだけ。
だから限界があるんだよね。
前へ 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 次へ / 要望・削除依頼は掲示板へ / 管理情報はtwitterで / JavaScript スレッド一覧へ
みんなの評価 : 類似してるかもしれないスレッド
- JavaScript ライブラリ総合質問所 vol.5 (344) - [97%] - 2022/3/14 17:45
- jQuery ライブラリ 総合質問所 vol.4 (986) - [78%] - 2016/1/12 15:15
- 【jQuery】JavaScript ライブラリ総合質問所 vol.3 (1001) - [75%] - 2014/6/18 20:58 △
- 【jQuery】JavaScript ライブラリ総合質問所 vol.2 (986) - [75%] - 2013/5/20 7:00
- 【jQuery】JavaScript ライブラリ総合質問所 vol.1 (983) - [75%] - 2012/10/8 22:30
- [JavaScript]プログラム作成します (981) - [37%] - 2010/12/8 21:02
トップメニューへ / →のくす牧場書庫について