2012-03-24 24 views
0

こんにちは私は既に既存のプラグインから前と次のボタンを使ってクロスフェードプラグインを作成しようとしています:jqueryfancytransition。これは私のための運動であり、それは私がウェブサイトのために私自身を書きたいと思っています。私はまだJavascriptとjQueryの両方に非常に新しいと言わねばならず、それは時々他の人のために非常に単純に見えるかもしれないもので時間の多くを無駄にします。jQueryグローバル関数とJavascriptの.idメソッド

私はプラグインで作者がimgのメソッドidを使用していることに気がつきました。jQuery APIでそれを見つけることができないので、それをネイティブのJavascriptメソッドと見なしてみました。 Javascriptのためのw3schoolsリファレンスはそこにそれを見つけることができません。最初に私は思った簡単な例を作成しようとしているときに、これはそれがなかった私の驚きに、選択した要素のIDを返しますが、こと:

<div id="slideshowHolder"> 
    <img src="nemo.jpg" alt="" id="ion"/> 
    <img src="toystory.jpg" alt=""/> 
    <img src="walle.jpg" alt=""/> 
</div> 

$(document).ready(function(){ 
    console.log($('div').id); 
}); 

をこれがconsole.Soで私の質問にundefinedを返すようですがどのようなものを、このメソッドの戻り値でありますそれについて私はどこで読むことができますか? jQueryの中で、あなたがこのようなグローバル関数を作成する場合

私がお聞きしたかったもう一つは、次のとおりです。

$.globalFunction = function(){} 

アップデート:私はidがhtml要素であることを知っていると私は$を(使用してjQueryの中でそれを選択することができます「のdiv#のslideshowHolder」)またはattrの方法を使用してそれを返すが、idはちょうどHTMLの方法であれば、コードのこれらの部分は

img[el.id] = new Array();

を何を意味するのでしょうその後、elは、それらが

を返すel.id何IMGです
+1

w3schoolsが学ぶのに最も評判の良いサイトではありません。jQueryを学びたい場合は、[jQueryサイト](http://docs.jquery.com/Tutorials:Getting_Started_with_jQuery) – jbabey

+0

しかし、あなたのコードはあなたが投稿したHTML要素のいずれかで使用されているものとは異なる文字列を参照します。また、jQueryの "id"値で何かを見ているときは、CSSのように文字列の先頭に "#"を付ける必要があります。 – Pointy

+0

私はそれが新しいメソッドについて学ぶのは良いリファレンスではないことを知っています.idはjQueryメソッドではないのでサイトにはありません。それが見つからない場合 – user1146440

答えて

2

、彼らはjQueryの-包まれた要素ではなく、プレーンなDOM要素になります。そのため、彼らはidプロパティを持たないでしょう。 jQueryでラップされた要素からIDを取得する場合は、$('div').attr('id');を使用します。

jQueryプロトタイプに追加することをお勧めしていると思われる最終的な質問に答えるには、これについて多くの良い記事があります。私はhelephant's site以上の読書をお勧めします。 jQueryオブジェクト(jQuery、または通常は別名として$)は他のオブジェクトと同じように、他のオブジェクトと同じようにプロトタイプを拡張できます。これはel.idので、ブラケット表記を使用してimgのプロパティel.idを検索するために、その値を使用して、オブジェクトelのプロパティidを探している

img[el.id] = new Array();

:新しく編集した最後の質問に答えるために

動的です。 imgオブジェクトでこのプロパティを検出した場合は、オブジェクトを消去してnew Array()オブジェクトを割り当てます。imgオブジェクトでプロパティが見つからない場合は、即時に新しいプロパティを作成し、new Array()オブジェクトを割り当てます。

+0

$( 'idiv')typoを修正しました。$( 'div')だったはずです。これらのidでないタグを選択しています – user1146440

+0

@ user1146440問題はありません。 – jbabey

0

idはHTML属性です。

あなたは、このようにjQueryのことで、それを選択することができます。

$('img#ion'); 

それとも.ATTR使用して()の値を取得します。 $('div')は、要素(または多くの要素を)返されたと仮定すると、

Reference here

+0

ok私は同意して、私はすでにこれらのコードが意味することを意味するimg [el.id] = new Array(); elはimg – user1146440

+0

で、idを変数に格納するだけです。だからvar id = something。 el.idで要素のidを取得します。プラグインとしては、ポイント(el.id)を付けてクラスまたはコンストラクタを参照する必要があります。 –

関連する問題