用php查询动作

时间:2012-04-12 22:28:20

标签: php jquery

我有一个使用php在mysql中获取数据的命令,并使用follow命令删除div(可以删除多个):

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>";

当我看到输出时,名称是experience1(示例)或experience2。到目前为止一切都很好。

要删除我有这个jquery函数:

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

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

2 个答案:

答案 0 :(得分:2)

我猜这与你为每个元素分配相同的ID有关。 ID只能使用一次;用ID切换CLASS,它应该可以正常工作。

答案 1 :(得分: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();
});