php
  • jquery
  • 2012-04-12 39 views 0 likes 
    0

    查询动作我有与PHP的MySQL中获取数据,并有后续的命令来删除一个div的命令(可以有倍数删除):用PHP

    echo "<div id='".$experience['index_of_form']."'>"; 
    echo "<a href='#remove' id='remove' name='".$experience['index_of_form']."' style='text-align: right; text-decoration: underline;'>Remove</a> 
    echo "</div>"; 
    

    当我看到输出的名字是体验1 (例子)或experience2。到现在为止还挺好。

    要删除我有这样的jQuery的功能:

    $('#remove').live("click", function() { 
    var name_of_experience = $('#remove').attr("name"); 
    $('#'+name_of_experience+'').remove(); 
    }); 
    

    的问题是,如果我有名称的删除链接experience2他将删除DIV名为体验1!我不知道为什么,因为当我在输出中看到链接的名称是experience2而不是experience1。

    +0

    我没有看到任何问题。 http://jsfiddle.net/hmnqr/ – Michelle 2012-04-12 22:34:28

    +0

    我知道,但是当我用php生成代码时,remove函数不起作用。 – 2012-04-12 22:43:27

    回答

    2

    我想它与你分配相同的ID到每个元素。 ID只能使用一次;切换IDCLASS它应该工作得很好。

    +0

    在这种情况下你是对的,但它仍然不起作用 – 2012-04-12 22:44:24

    +0

    它是如何工作的?显示输出。 – Michelle 2012-04-12 22:48:32

    +0

    ups我的错误..现在的作品!谢谢! – 2012-04-12 22:56:16

    1

    您不能在同一页面内多次使用ID remove,因为ID应该是单个元素的唯一标识符。 jQuery只会在DOM中找到第一个。尝试使用一个类而不是一个id。

    从jQuery 1.7开始,.live()已弃用,因此弃用.on()。我还冒昧地在获取名称值时使用$(this)而不是选择器来添加次要性能改善:

    $('body').on("click", "a.remove", function() { 
        var name_of_experience = $(this).attr("name"); 
        $('#'+name_of_experience).remove(); 
    }); 
    
    +0

    我忘了告诉,我使用的版本“1.6.4/jquery.min.js”,所以我切换.on()为.live()..但仍然无法正常工作。我已经将ID转换为div和link中的CLASS – 2012-04-12 22:42:04

    相关问题