2014-12-08 71 views
1

我認爲這應該相當簡單,但Google沒有產生任何結果,所以希望這裏有人可以提供幫助。jQuery:追加HTML如果標籤包含特定的類

使用jQuery我想在元素中追加一些HTML,如果它包含具有特定類的ul。

所以如果一個「main-menu li」元素包含「ul.sub-menu」,我想在包含它的「main-menu li」元素中追加「expand」div。

這裏是我的工作的HTML:http://pastebin.com/4pwN9Rte

任何幫助,非常感謝!

回答

2

試試這個:

$('.main-menu > li').find('ul.sub-menu').parent('li').append($('<div/>').addClass('expand')); 

說明:

採取.main-menu列表li孩子的,找到ul子菜單並追加了新的div帶班擴大到其父li元素。

或較短的版本:

$('.main-menu > li:has(ul.sub-menu)').append($('<div/>').addClass('expand')); 

這裏是一個的jsfiddle顯示:http://jsfiddle.net/03j5fkyh/1/

+0

謝謝,這完美的作品! – 2014-12-08 08:02:19

+0

不要忘了關閉你的問題,通過設置解決方案作爲答案在左側 – Mivaweb 2014-12-08 08:49:41

0

非常容易,真的!乾杯! CODEPEN

$('li:has(.sub-menu)').prepend('<div class="expand">asdfasdfasdf</div>'); 
1

試試這個

if($("main-menu li ul").hasClass("sub-menu")){ 
     $("main-menu li").append("#expand"); 
} 

希望它會工作

+0

這將在ul列表中添加div而不是在它後面,如果它不是最後一個ul列表又怎麼辦? – Mivaweb 2014-12-08 07:53:28

+0

請再次仔細閱讀該問題。你的答案不**回答原來的問題。 – DavidPostill 2014-12-08 08:07:31

+0

對不起,我誤解了它 – Madhav 2014-12-08 08:07:44