我的代码不起作用,似乎以后的脚本无法找到以前插入的元素。
我将基本语法错误更新为前三个答案,但似乎仍然无效。
代码:
<html>
<head>
<script src="http://code.jquery.com/jquery-1.9.1.min.js"></script>
<script src="http://code.jquery.com/jquery-migrate-1.1.1.min.js"></script>
<script type="text/javascript">
$(document).ready( function() {
$('#menu').html('<a href="page4.html" class="dynamicLoad">ddd</a>');
});
$(document).ready( function() {
$( 'a.dynamicLoad' ).click( function( e ) {
e.preventDefault(); // prevent the browser from following the link
e.stopPropagation(); // prevent the browser from following the link
$( '#myDiv' ).load( $( this ).attr( 'href' ) );
});
});
</script>
</head>
<body>
<div id="menu">mymenu</div>
<div id="myDiv">aaaaaaaaaaaa</div>
</body>
</html>
答案 0 :(得分:0)
将您的innerHTML
声明更改为以下内容:
$('#menu').html("<a href='page4.html' class='dynamicLoad'>ddd</a>");
});
目前您的语句有多个语法错误。
此外, innerHTML 是Javascript 不 jQuery - html()是jQuery的等价物。
这是一个有效的jsFiddle。
您的整个代码现在应该如下所示:
<强> HTML:强>
<div id="menu">mymenu</div>
<div id="myDiv">aaaaaaaaaaaa</div>
<强> jQuery的:强>
$(document).ready( function() {
$('#menu').html("<a href='page4.html' class='dynamicLoad'>ddd</a>");
$( 'a.dynamicLoad' ).click( function( e ) {
e.preventDefault(); // prevent the browser from following the link
e.stopPropagation(); // prevent the browser from following the link
$( '#myDiv' ).load( $( this ).attr( 'href' ) );
});
});
答案 1 :(得分:0)
应为html()
innerHTML
== html()
并逃避您的"
$('#menu').html("<a href='page4.html' class='dynamicLoad'>ddd</a>");
//------^^^^---here
答案 2 :(得分:0)
您有问题"
问题,请改用.html()
:
$('#menu').html('<a href="page4.html" class="dynamicLoad">ddd</a>');
你应该使用jQuery的.html()
方法而不是innerHTML
,因为jQuery简化了一些javascript函数。 jQuery仍然是javascript,但它有不同的和一些简化的语法。
答案 3 :(得分:0)
tyr this
$('#menu').html("<a href='page4.html' class='dynamicLoad'>ddd</a>");