我正在使用函数has()
检查li
标记内是否有ul
。如果ul
标记位于li
中,我将添加一些CSS属性,在呈现页面时创建li
标记但我使用Ajax和{{1}时,我的代码运行良好用于创建这些$.each()
项li
不起作用。
jquery代码是:
has()
答案 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( //...
但他们基本上是平等的。