将样式应用于多个选择器



为什么以下内容不将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(及其类)中,因此它们就在那里

要执行所需操作,必须调用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()以了解您试图做的事情。

您的代码应该是:

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

如果您查看了jQuery的文档,就会发现您无法像尝试的那样创建具有两个元素的jQuery对象。阅读文档,不需要猜测它是如何工作的。

最新更新