0
私はちょうど1つの方法が機能し、もう1つの方法が機能しない理由を区別するのに問題があります。私は.eq()を使用して実行可能な解決策を持っていますが、それでもオブジェクトを返す場合、[]表記を使用して.cssメソッドを呼び出すことができない理由を正しく理解したかったですか?jQuery .eq(index)vs [index]両方がオブジェクトを返す場合は?
はここに私のテストコードで、自分自身をそれを把握しようとした:
$('.slider').each(function() {
var $slides = $('.slide');
console.log(jQuery.type($slides.eq(1)));
console.log(jQuery.type($slides[2]));
$slides.eq(1).css({color: 'red'});
$slides[2].css({color: 'red'});
});
コンソールログは、両方のセレクタは、オブジェクトを返していることを教えてください。では、なぜオブジェクトではないように[]表記にtypeErrorを取得するのですか?
任意の説明を理解してください。
おかげで、
も「オブジェクト」は、最も一般的な内部javascriptのクラスであることに注意してください、それは 'でも、生のHTML要素のjQuery.type'は' '「オブジェクト」を返します。実際、 '$ slides [2]'は生のHTML要素なので、それはまさに何が起こっているのかです。 – Hamms
完璧な意味を持ちます。私はどちらの点も考えていませんでした。 $ slideはjQueryオブジェクトだったので、[]を使用してもjQueryオブジェクトのままになりましたが、今は理解しています。 あなたの時間と労力を感謝します。 –