函数'has'不使用jQuery处理加载的数据

时间:2012-06-05 08:30:15

标签: jquery ajax

我正在使用函数has()检查li标记内是否有ul。如果ul标记位于li中,我将添加一些CSS属性,在呈现页面时创建li标记但我使用Ajax和{{1}时,我的代码运行良好用于创建这些$.each()li不起作用。

jquery代码是:

has()

3 个答案:

答案 0 :(得分:2)

使用.find代替.has仅用于测试它是否具有ul

$('.innerItems li ul li').find('ul').css({'background-image':'url(images/arrow.png)',
                                         'background-position':'2px center',
                                         'background-repeat':'no-repeat'}); 

修改 的 似乎你想要这个:

$('.innerItems li ul li:has(ul)').css({'background-image':'url(images/arrow.png)',
                                         'background-position':'2px center',
                                         'background-repeat':'no-repeat'}); 

答案 1 :(得分:0)

不要忘记写这一行:

$('.innerItems li ul li').has('ul').css({'background-image':'url(images/arrow.png)',
                                     'background-position':'2px center',
                                     'background-repeat':'no-repeat'}); 

之前您的$.each创建<li>项目。

答案 2 :(得分:0)

您可以尝试选择UL,然后返回最近的LI并应用样式。对我来说似乎更符合逻辑:

$('.innerItems li ul li ul').closest('li').css( //...

使用.find()的替代解决方案:

$('.innerItems li ul li').find('ul').closest('li').css( //...

但他们基本上是平等的。