将类添加到动态创建的元素中的问题

时间:2014-03-05 12:35:11

标签: jquery

我有一些通过我正在使用的插件动态创建的元素,如果它是唯一的div,我想给某个div类。

如果我写条件警告是否有一个元素,它会起作用(警报显示),但如果我尝试为它分配一个类,它就不会被分配:

警报代码(有效)

if ( $('#carousel > div').length == 1 ) {
    alert('code');
}

类代码(不起作用)

if ( $('#carousel > div').length == 1 ) {
    $(this).addClass('code');
}

3 个答案:

答案 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').length0,则不会发生任何事情。