1

我的代码不起作用,以后的脚本似乎找不到先前插入的元素。

我将基本语法错误更新为前三个答案,但它似乎仍然不起作用。

代码 :

<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>
4

4 回答 4

0

提这个

$('#menu').html("<a href='page4.html' class='dynamicLoad'>ddd</a>");
于 2013-04-16T10:27:18.100 回答
0

它应该是html()

innerHTML==html() 在 jquery 中

逃离你的"

 $('#menu').html("<a href='page4.html' class='dynamicLoad'>ddd</a>");
   //------^^^^---here
于 2013-04-16T10:21:30.190 回答
0

您有引号"问题,请.html()改用:

$('#menu').html('<a href="page4.html" class="dynamicLoad">ddd</a>');

你应该使用jQuery 的.html()方法,而不是innerHTML因为 jQuery 简化了一些 javascript 函数。jQuery 仍然是 javascript,但它有不同的和一些简化的语法。

于 2013-04-16T10:21:38.093 回答
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' ) );
     });
});
于 2013-04-16T10:19:45.260 回答