我正在尝试从照片数据库中删除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
答案 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();
});
});
答案 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].