删除ID并删除另一个ID的Li标签

时间:2012-12-24 22:47:56

标签: php javascript jquery mysql

我正在尝试从照片数据库中删除ID,但在li标签中我有类别编号,我已将其设置为类。 代码如下:

$().ready(function() {
  $(".delete").on("click",function(e) {
        e.preventDefault();
        var ID = encodeURI($(this).attr("id"));
        var CAT = $(".photos li").attr("class");
        alert(CAT);
    });
});
<ul class="photos">
$sql = mysql_query("SELECT * FROM photos ORDER BY id DESC");
while($data = mysql_fetch_array($sql)){
 echo "<li class='c".$data['cat_id']."'><a href='#' class='delete' id='".$data['id']."'>".$data['photo_name']."</a></li>";
 }

我正在使用多个类别但是当我点击删除结果时, c1

2 个答案:

答案 0 :(得分:1)

如果您尝试删除照片的ID而不是类别ID,为什么还要为其编写代码?以下内容应提醒您单击该照片删除链接的ID。似乎在函数开头有e.preventDefault();会阻止执行任何其他操作。

$(document).ready(function() {
    $(".delete").click(function(event) {
        var ID = encodeURI($(this).attr("id"));
        var CAT = $(this).closest("li").attr("class");
        alert(ID + " " + CAT);
        e.preventDefault();     
    });
});​

http://jsfiddle.net/Cq49P/5/

答案 1 :(得分:0)

Cat_id是class而不是Id。使用.removeClass()。删除课程。

所以,我得到你的问题...你在一个类名中写了id,用c表示它然后所有元素都是:c1,c2 .....你想得到c的数量

首先:在元素上使用data-attribute。例如:

echo "<li class='' data-cat_id=".$data['cat_id']."'><a href='#' class='delete' id='".$data['id']."'>

(不是php专家,但你的结果html应如下所示:<li class='' data-cat_id="1".... 这是我建议您应该使用的方式。

如果你真的必须用课程来做 你可以这样做:

$(function($) {
    var CAT = $("li").each(function() {
        var CAT = this.className.split(' ');
        var regex = /^c[0-9]*$/;
        $.each(CAT, function(){
            if(this.match(regex )){
                alert(this.split('c')[1]);
            }
        });
    });      

});
​[Fiddler][2].