为什么以下内容不将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对象。阅读文档,不需要猜测它是如何工作的。