2014-09-10 51 views
-3

jQuery似乎無法選擇加載的HTML元素。這是我的HTML:動態加載的HTML的jQuery選擇器

<div class="class name" style="display: none;"> 
    <div id="submenuID" class="submenuID" /> 
    <script> 
     loadHtmlUsingJavascript('parameter1', 'parameter2'); 
    </script> 
</div> 

加載的HTML是一個鏈接列表。這是我的JavaScript:

$("#submenuID li").addClass("active"); 

但它不會添加類。經過一些窺探之後。我學會使用

$("#submenuID li").live('click', function() { 
    $("#submenuID li").addClass("active"); 
}); 

但是,它不工作,直到我再次點擊鏈接。

+0

需要在頁面上靜態的元素上調用'live'。你可以通過執行'$(document).live'或可能的'$(「#submenuID」)。live()'來解決你的問題。然而,這已被棄用,請使用我們在關閉問題時鏈接的答案,這就是Jorge Silva建議的http://stackoverflow.com/a/25772585/227299 – 2014-09-10 19:09:13

回答

1

你必須做到以下幾點:

$("#submenuID").on('click', 'li', function() { 
    $(this).addClass("active"); 
}); 

首先,jQuery的.live功能被廢棄了,因爲jQuery的1.7(http://api.jquery.com/live/

此外,你應該聽爲#subMenuID元素內li方法。

+1

...假設JQuery 1.7+ – Turnip 2014-09-10 18:33:19