我有一些通过我正在使用的插件动态创建的元素,如果它是唯一的div,我想给某个div
类。
如果我写条件警告是否有一个元素,它会起作用(警报显示),但如果我尝试为它分配一个类,它就不会被分配:
警报代码(有效)
if ( $('#carousel > div').length == 1 ) {
alert('code');
}
类代码(不起作用)
if ( $('#carousel > div').length == 1 ) {
$(this).addClass('code');
}
答案 0 :(得分:3)
在您的上下文中,$(this)
未指出所需的元素。
尝试,
var cache = $('#carousel > div');
if (cache.length == 1 ) {
cache.addClass('code');
}
答案 1 :(得分:2)
this
就是您的想法。 if
块不会更改执行上下文(this
) - this
块内的if
仍将引用{{1}之外引用的同一对象}}阻止,if
块内的this
可能不是指if
div
答案 2 :(得分:1)
而且,if
毫无用处,因为jQuery可以处理“空”对象。所以你真正需要的是:
$('#carousel > div').addClass('code');
如果$('#carousel > div').length
为0
,则不会发生任何事情。