Jquery empty()或remove()不会工作

时间:2015-07-14 16:54:59

标签: javascript jquery

我正在开发一个练习jQuery和PHP的小游戏。 通过点击正确的位置,您将转到下一个问题,否则您将失败。 为了检查正确答案,我使用了Img(问题的img)和usemap

        <img id="questions" src="../img/items/question1.png" style="height: 450px;width: 700px;" usemap="#result">
        <map name="result">
        </map>

如您所见,地图没有区域。 我在剧本中添加的内容:

$(document).ready(function(){
  var score = 0;

  var answer1 = '<area class="true" shape="circle" coords="145, 175, 40" href="#">';
  var entireImg = '<area class="false" shape="rect" coords="0, 0, 700, 450" href="#">';

  $(answer1).appendTo('map');
  $(entireImg).appendTo('map');

  $('.true').click(function(){
      score++;
      $('#questions').attr({src: "../img/items/question2.png"});

  });
  $('.false').click(function(){
      $('#questions').attr({src: "../img/items/fail.png"});
      $('.notes').show();
  });
});

如果你得到正确的答案,我会为每个问题添加一个带有正确答案位置的新区域。 现在我遇到的问题是;我无法从表单中删除以前的答案区域。 到目前为止我尝试了什么:

使用其他位置更改变量并将其添加到map:

$('.true').click(function(){
    score++;
    $('#questions').attr({src: "../img/items/question2.png"});
    answer1 = '<area class="true" shape="circle" coords="200, 300, 40" href="#">';
    $(answer1).appendTo('map');
});

从地图中删除var:

$('.true').click(function(){
    score++;
    $('#questions').attr({src: "../img/items/question2.png"});
    $('answer1').remove();
});

删除添加的元素:

$('.true').click(function(){
    score++;
    $('<area class="true" shape="circle" coords="145, 175, 40" href="#">').remove();        
});

清空值(并清空值并再次附加&#39;空&#39;值)。

不是那些工作,而且根据我迄今为止的知识(女巫不是那么多)我无法弄明白(已经花了2个小时用谷歌搜索)。

我把游戏放在这个链接上: http://i333180.iris.fhict.nl/demo/pages/index.php

此致

1 个答案:

答案 0 :(得分:2)

由于您要删除要点击的元素,请使用:

$(".true").click(function() {
    score++;
    $(this).remove();
});