如何使用jquery获取ID

时间:2015-01-08 08:43:24

标签: javascript jquery html

我希望能够在单击按钮后获取id的值,以便我可以使用它来引用特定的表。

<input type="button" id="<?php echo $id; ?>"  onclick="delBtn(<?php echo $id; ?>)"> 
<script>    
    function delBtn(btnX){

        var itemId = btnX;
        alert(itemId);
        var x; 
        var y =confirm('Are you sure you want to delete this item ?');

        if(y == true){
            x = 'You pressed Ok';
            console.log(x);
            `$`("button[id='"+itemId+"']").closest("tr").effect("highlight", {
            color:'#4BADF5'}, 400);
            $("button[id='"+itemId+"']").closest("tr").fadeout();`
        }
    }
</script>

7 个答案:

答案 0 :(得分:1)

  

为什么你不使用“attr”获取id

$('button').click(function(){
 alert(this.id);  // you can also use $(this).attr("id");
});

答案 1 :(得分:0)

这适用于页面上的所有按钮。它将获得单击的按钮,并将返回按钮的ID属性值。因此,您可以拥有5个具有所有不同ID的按钮,当单击其中一个按钮时,它将返回所单击按钮的ID。

$('button').click(function(){
    alert($(this).attr('id'));
});

<强> WORKING FIDDLE

答案 2 :(得分:0)

如果动态添加按钮,请使用事件委派:

$(document).on('click', '#your_id', function() {
   var id = $(this).attr('id');
   return id;
});

答案 3 :(得分:0)

试试这个

$(document).ready(function(){
$('button').click(function(){
   var id = $(this).attr('id');
   alert(id);
});
});

答案 4 :(得分:0)

使用id:

function delBtn(btnX){ //btnX is not id, it's parameter only
var itemId = btnX.id; //so you need to use id
alert(itemId);
.....

但是在html中点击这个:

onclick="delBtn(this)"

答案 5 :(得分:0)

试试这个..

<input type="button" id="<?php echo $id; ?>" class="yourclass">

  $(".yourclass").click(function(){
    var id=$(".yourclass").attr("id");
    alert(id);
    });

答案 6 :(得分:0)

如果需要,您可以存储ID,使其更容易在范围内访问。

<input type="button" class="js-item-id" id="<?php echo $id; ?>" value="Remove">

<script>
    var itemId; 

    function delBtn() {

        var x; 
        var y = confirm('Are you sure you want to delete this item ?');

        // If y is true...
        if(y) {

            x = 'You pressed Ok';
            console.log(x);
            $("button[id='"+itemId+"']").closest("tr").effect("highlight", {
            color:'#4BADF5'}, 400);
            $("button[id='"+itemId+"']").closest("tr").fadeout();

            // Show me the ID!
            alert('You deleted item ID  #' + itemId + '.');
        }
    }

    $('.js-item-id').on('click', function() {

        // Return and store 'this' ID. e.g, if the buttons id was '1234',
        // it would return '1234'.
        itemId = $(this).attr('id');

        // Now, call the @delBtn() function.
        delBtn();
    });
</script>

另外,我不知道你是否打算在复制代码时这样做,但你有一个错字:

$("button[id='"+itemId+"']").closest("tr").fadeout();`

你有一个尾随逗号。它应该是:

$("button[id='"+itemId+"']").closest("tr").fadeout();