0

以下が両方の要素にcssルールを適用しないのはなぜですか?

var prevElem = $('<a href="#" class="'+ settings.prev +'" />').text('Prev');
var nextElem = $('<a href="#" class="'+ settings.next +'" />').text('Next');
container.append(prevElem, nextElem);
$(prevElem, nextElem).css('top', container.height()/2);

prevElemにのみ適用されます。

動的要素が(クラスとともに)DOMに追加されているため、そこにあることに注意してください。

4

2 に答える 2

3

必要なことを行うには、add()メソッドを呼び出す必要があります。

var prevElem = $('<a href="#" class="'+ settings.prev +'" />').text('Prev');
var nextElem = $('<a href="#" class="'+ settings.next +'" />').text('Next');

prevElem.add(nextElem).appendTo(container).css('top', container.height()/2);

配列をパラメーターとして提供して配列を結合できない理由jQueryは、そのようなAPIがないためです。また、コンテキスト内の要素を検索するjQuery(selector [、context])を実装できなくなるため、そうすべきではありません。あなたがやろうとしたことについては$.add()をチェックしてください。

于 2012-08-04T12:10:13.290 に答える
2

コードは次のようになります。

prevElem.add(nextElement).css('top', container.height()/2);

ドキュメントをjQuery見ると、試した方法で2つの要素を持つjQueryオブジェクトを作成できないことがわかります。ドキュメントを読んでください。それがどのように機能するかを推測する必要はありません。

于 2012-08-04T12:08:05.387 に答える