Jquery支持静态HTML,但不支持动态HTML
jquery is working on static html but not on dynamic html
少数div元素是使用ajax生成的,少数是静态的。jquery只能处理静态元素,不能处理动态生成的html。我正在运行一个jquery点击"app"类的任何元素。但是jquery只能处理静态html而不能处理动态html
<!Doctype html>
<html>
<head>
<title>applications</title>
<link rel="stylesheet" type="text/css" href="css/style.css">
<script src="//code.jquery.com/jquery-1.7.2.min.js"></script>
<script>
$(document).ready(function(){
$.ajax({
type:'GET',
url:'application/show_app.php',
data:{show_app:"1"},
success: function(data){
if(data)
{
var split= data.split('%%%%');
for(var i=0;i<split.length-1;i++)
{
var div= document.createElement("div");
var div_child=document.getElementById("app_row").appendChild(div);
div_child.className="app";
div_child.innerHTML="dynamic"; //dynamically generated
}
}
},
failure: function(){
alert(failed);
}
}) ;
$(".app").click(function(){
alert("jquery"); //jquery which will run on clicking the division
});
});
</script>
</head>
<body id="default" class="full"> //basic html
<div class="header">
<h1>
<a title="urban airship">urbanairship</a>
</h1>
</div>
<div class="main" name="application-main">
<div class="sub-header">
<h2>Your Applications</h2>
<div class="sub-header-actions">
<a href="application/add_app.php/">
<span class="sprite plus-ico"></span>
New App
</a>
</div>
</div>
<div class="row main-app-list" id="app_row">
<div class="app">static</div> //static html
</div>
</div>
</body>
</html>
尝试:
$(document).on('click', '.app' , function(){
alert("jquery"); //jquery which will run on clicking the division
});
之所以有效,是因为事件侦听器现在附加到文档而不是单个元素。这允许通过AJAX加载的元素仍然触发事件。您还应该查看on的作用域,例如$("#myWrapper").on(...)
,因为这对性能更好。
参见文档:JQuery On
相关文章:
- 任何浏览器都不支持javascript函数
- 对象不支持属性或方法“自动完成”
- 对象没有'不支持set_viewXML
- 您的平台不支持RxJS-Array.observe
- 错误:语法错误,无法识别的表达式:不支持的伪:无效/RectJS/Unit Testing
- 如何在不支持HTML字符的邮件正文中发送%签名
- 如果浏览器不显示图像,如何显示图像;不支持HTML 5 Canvas
- 如果不支持 Html 5,请使用 Flash 动画
- 我决定不支持IE7;我现在可以使用哪些 JS/CSS/HTML 功能
- 如果不支持 svg,则回退到 html-css
- Firefox的替代HTML/CSS不支持输入范围
- 对象中的jQuery分析HTML结果不支持属性错误
- 是否有一个JS库可以为浏览器添加HTML 5特性,这些浏览器不支持这些特性
- Firefox/IE IIS 6不支持在Javascript/HTML中隐藏标签
- Jquery支持静态HTML,但不支持动态HTML
- 当作为 Web 应用程序运行时,对象不支持 IE11 上的属性或方法“create”,在浏览器中直接打开 HTML 时很
- 浏览器不支持的HTML元素的无javascript回退
- 神秘的(对我来说)对象不支持此属性或方法错误- JavaScript HTML rollout
- Ng-model不支持动态添加的html控件
- 提取HTML并使用php函数或正则表达式来获得HTML打开和关闭标记,不支持的标记,嵌套标记