2012-04-19 8 views
0

私はそれらを何と呼ぶべきかわかりませんが、私は通常、$.(one).html()という単一のものしか遭遇しませんが、jQueryでは$.(one,two).html();ではありません。

var handler = function(data) { 
    $('.content').html($('.content', data).html()).parent().show(); 
    $.address.title(/>([^<]*)<\/title/.exec(data)[1]); 
}; 

は、あなたたちは助け私は、このコードが何をするかを理解していただけますか?私はそのようなコードに遭遇したことはありません。これらは私が理解できない特定の部分です、これらのラインはどのように機能しますか?

$('.content', data).html(); 

$.address.title(/>([^<]*)<\/title/.exec(data)[1]); 

答えて

2

これはdata変数内のクラスcontentを持つ要素を探しています。これはコンテキストセレクタと呼ばれます。 data変数は、文字列、DOM要素、またはjQueryオブジェクトです。例えば

var data = '<div><p class="content">Lorem ipsum</p></div>'; 
var html = $('.content', data).html(); // = 'Lorem ipsum' 

html変数は、常に関係なく.content要素がページ内にあるか、他の多くのLorem ipsumが含まれていません。


$.address.title(/>([^<]*)<\/title/.exec(data)[1]); 

これはdata変数に正規表現を行っています。 data.match(/>([^<]*)<\/title/);

各一致を含む配列を返します。見つからない場合はnullを返します。

+0

明確な説明に感謝します。 – Michelle

+0

しかし、 'div'を削除しようとすると、' var html'の値は 'null'です。それはなぜそうですか? – Michelle

1

これはパターンをチェックする正規表現です。

(*^< *)は、 "<からすべて"を意味します。

基本的には、<title>で始まり、</title>で終わる文字列を検索して使用します。

+0

スポーツマンシップのD:+1 – djlumley

+0

あなたの答えはより良いです! – mddw

3

最初はselector, and a contextです。 をdataに検索しています。 jQueryは、.html()メソッドを持つjQueryオブジェクトを返します。

regex patternです。おそらく/>([^<]*)<\/title/正規表現を使用して、dataを検索し、おそらくtitleタグの内容を検索します。

+0

+1もっと説明的でより完全な答えのために: – Kaii

+0

'$( '。content'、data).html()'は何らかのランダムなテキストであると考えていますか? – Michelle

+2

セレクタは、引用符の位置を複数回見ない**です。それはコンテキストとして 'data'を提供しています:http://api.jquery.com/jQuery/ –

0

$ functionの2番目の引数は単なるコンテキストです。そのコンテキスト要素の中の要素を探すのはjQueryです。 以下の表現は同じ動作です。私はこれが第二の議論のために何があるのか​​を明確にすることを望む。

$(one,two).html(); = $(two).filter(one).html(); 
関連する問題