如何获取调用函数的元素的id

时间:2013-11-14 12:21:30

标签: javascript jquery

嗨,我是jquery的新手...

我的项目中有很少的锚点链接......

<a href="#" id="1" class="delete" onclick="dele()"> Remove1 </a>
<a href="#" id="2" class="delete" onclick="dele()"> Remove2 </a>
<a href="#" id="3" class="delete" onclick="dele()"> Remove3 </a>
<a href="#" id="4" class="delete" onclick="dele()"> Remove4 </a>

function dele()
    {
        fid= //here i want id of that element which called it
        $.ajax({
            url : 'ajax.php',
            data : {delet:'delet',fid:fid},
            type : 'POST',
            success : function(data)
            {
                $("#showform").html(data);
                    alert(data);
            }
        });
    }

例如

如果我点击删除1 ,那么我想要 id 1

如果我点击删除2 ,那么我想要 ID 2 等等......

我尝试通过 $(“。delete”)来执行此操作。单击()但我无法使用它,因为它导致我的项目出现问题......

这里我正在通过数据库生成...

你能建议我怎样才能得到身份?

提前致谢..

4 个答案:

答案 0 :(得分:2)

试试这个

<a href="#" id="1" class="delete" onclick="dele(this.id)"> Remove1 </a>

脚本

function dele(id)
    {
        fid= id //here your id
        $.ajax({
            url : 'ajax.php',
            data : {delet:'delet',fid:fid},
            type : 'POST',
            success : function(data)
            {
                $("#showform").html(data);
                    alert(data);
            }
        });
    }

DEMO

答案 1 :(得分:1)

看到你正在使用jQuery作为你的逻辑,为什么不用它来绑定事件并完全从HTML中分离JS?试试这个:

<a href="#" id="1" class="delete"> Remove1 </a>
<a href="#" id="2" class="delete"> Remove2 </a>
<a href="#" id="3" class="delete"> Remove3 </a>
<a href="#" id="4" class="delete"> Remove4 </a>
$('.delete').click(function() {
    fid = this.id; // this = the element which was clicked on
    $.ajax({
        url : 'ajax.php',
        data : { delet: 'delet', fid: fid },
        type : 'POST',
        success : function(data) {
            $("#showform").html(data);
                alert(data);
        }
    });
});

  

我不能使用$(“。delete”)。click()... bcz当我从php文件中获取响应时它正在影响我的功能..我使用的是同样但在我看到我的功能是如果我使用这种方式不工作

如果在加载DOM后附加.delete元素,则需要修改上述内容以使用委托选择器:

$(document).on('click', '.delete', function() {
   // rest of the code...
});

答案 2 :(得分:0)

尝试

function dele()
{
    var fid= $(this).attr('id');
    $.ajax({
        url : 'ajax.php',
        data : {delet:'delet',fid:fid},
        type : 'POST',
        success : function(data)
        {
            $("#showform").html(data);
                alert(data);
        }
    });
}

甚至你可以直接从调用函数发送id,如

<a href="#" id="4" class="delete" onclick="dele(this.id)"> Remove4 </a>

答案 3 :(得分:0)

试试这个

 <a href="#" id="1" class="delete" onclick="dele(this)"> Remove1 </a>
 <a href="#" id="2" class="delete" onclick="dele(this)"> Remove2 </a>
 <a href="#" id="3" class="delete" onclick="dele(this)"> Remove3 </a>
 <a href="#" id="4" class="delete" onclick="dele(this)"> Remove4 </a>


function dele(element)
{
    fid= element.id;
    $.ajax({
        url : 'ajax.php',
        data : {delet:'delet',fid:fid},
        type : 'POST',
        success : function(data)
        {
            $("#showform").html(data);
                alert(data);
        }
    });
 }

而不是只有id如果你传递元素你也可以得到元素的其他一些属性。