jQuery load页面后选择器失效问题
主页面:<scripttype="text/javascript">$(document).ready(function(){$('#nav3.icn_categorie...
主页面:
<script type="text/javascript">
$(document).ready(function() {
$('#nav3.icn_categories').click(function() {
$('#maincontainer').load('dashboard/categories'); //Load the Article & Messages edit page ...
$("#nv_bar").text("Category Management");
});
});
</script>
<ul class="toggle">
<li id="nav3" class="icn_categories"><a href="#">Categories</a></li>
</ul>
===============================================================
load的页面dashboard/categories :
<article class="module width_3_quarter">
<header><h3 class="tabs_involved">Categories Manager</h3>
<ul class="tabs">
<li id="cat_add_new"><a href="#">Add new</a></li>
</ul>
</header>
<div class="tab_container">
<div id="tab1" class="tab_content">
<table class="tablesorter" cellspacing="0">
<tbody class="cat_body">
<tr>
<td><input type="checkbox"></td>
<td>Test category</td>
<td>Name</td>
<td>5th April 2011</td>
<td></td>
</tr>
</tbody>
</table>
</div><!-- end of #tab1 -->
</div><!-- end of .tab_container -->
<script>
$(document).ready(function(){
$("#cat_add_new").click(function(){
var ul = document.getElementById(".cat_add_new.cat_body");
var temp = '<tr><td> </td>'+
'<td><input type="text" ></td> ' +
'<td></td> </tr>';
ul.innerHTML += temp;
});
点击无反应。。。不知道是不是选择器没有生效。 展开
<script type="text/javascript">
$(document).ready(function() {
$('#nav3.icn_categories').click(function() {
$('#maincontainer').load('dashboard/categories'); //Load the Article & Messages edit page ...
$("#nv_bar").text("Category Management");
});
});
</script>
<ul class="toggle">
<li id="nav3" class="icn_categories"><a href="#">Categories</a></li>
</ul>
===============================================================
load的页面dashboard/categories :
<article class="module width_3_quarter">
<header><h3 class="tabs_involved">Categories Manager</h3>
<ul class="tabs">
<li id="cat_add_new"><a href="#">Add new</a></li>
</ul>
</header>
<div class="tab_container">
<div id="tab1" class="tab_content">
<table class="tablesorter" cellspacing="0">
<tbody class="cat_body">
<tr>
<td><input type="checkbox"></td>
<td>Test category</td>
<td>Name</td>
<td>5th April 2011</td>
<td></td>
</tr>
</tbody>
</table>
</div><!-- end of #tab1 -->
</div><!-- end of .tab_container -->
<script>
$(document).ready(function(){
$("#cat_add_new").click(function(){
var ul = document.getElementById(".cat_add_new.cat_body");
var temp = '<tr><td> </td>'+
'<td><input type="text" ></td> ' +
'<td></td> </tr>';
ul.innerHTML += temp;
});
点击无反应。。。不知道是不是选择器没有生效。 展开
2个回答
展开全部
load()只加载html,不加载js
所以会有2个问题
1,远程页面里的js不会生效
2,当前页面第一次加载的代码,不认识load过来的新dom
解决的办法有3个
1,load()完后,拆分执行远程页面的html和js
2,用live()为新dom动态加载js事件,注意jq-1.9,用$.on(),跟以前版本语法不一样了
3,load()完后,重新执行一遍js,让js重新认识新dom
所以会有2个问题
1,远程页面里的js不会生效
2,当前页面第一次加载的代码,不认识load过来的新dom
解决的办法有3个
1,load()完后,拆分执行远程页面的html和js
2,用live()为新dom动态加载js事件,注意jq-1.9,用$.on(),跟以前版本语法不一样了
3,load()完后,重新执行一遍js,让js重新认识新dom
追问
多谢您的回复,
1:那是不是在load进来的html里面还要加上 js 引用?
2:用live()为新dom动态加载js事件,注意jq-1.9,用$.on(),跟以前版本语法不一样了,
这个如何整? 对jquery ajax都陌生啊。
2:有什么办法能使用load过来的dom? 重新执行如何操作?
十分感谢!
追答
1,没用,load会把远程页面代码,全部当成html处理
2,已经回答你了
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询