我的代码不会执行一个非常基本的JavaScript函数

时间:2011-04-08 07:34:19

标签: jquery

我的代码不会执行alert()函数。有谁能够帮我?这是代码:

hook.txt:

<html>
<div id="text">
  <a href="#" class="name">george lucas</a> &nbsp;
  <span class="fadetxt">knows</span> 
  <span class="subjectnames">physiology</span>
</div>
<div class="detail"></div>
</html>

knowledge.txt:

<html><p class="subjecttitle>Physiology</p></html>

的javascript:

     $(document).ready( function(){
    $('#stdmatch').load("/hook.txt");
            $('.subjectnames').click(function(){
            $(this).alert("data");  

}); });

3 个答案:

答案 0 :(得分:6)

使用alert("data");代替$(this).alert("data");

无需使用带有javascript功能的$(this)。

jQuery中没有.alert()方法

编辑:

使用此

$(document).ready( function(){
   $('#stdmatch').load("/hook.txt");
   $('.subjectnames').live('click', function() {
       alert('data');
   });
});

答案 1 :(得分:2)

@katie:您必须使用$.live()才能匹配通过$.load生成的类:

$('.subjectnames').live('click', function(e) {
   e.preventDefault();
   alert('data');
});

由于课程位于<span>,我建议您将hook.txt更新为

<div id="text">
    <a href="#" class="name">george lucas</a> &nbsp;
    <span class="fadetxt">knows</span> 
    <a href="#" class="subjectnames"><span>physiology</span></a>
</div>
<div class="detail"></div>

答案 2 :(得分:0)

@Katie当你使用提醒你没有我们$(this).alert()只是调用alert(“data”)但是

如果您希望警报功能显示来自hook.txt文件的数据,您需要在回调函数中调用它

 $('#stdmatch').load("/hook.txt",function(data)
     {

        alert(data);  


    });