簡體   English   中英

給一個調用函數的對象

[英]Give an object which calls a function

我是jQuery的新手,我想提供一個觸發函數並獲取其父ID的對象。 我有HTML:

<tr id="9"><td>First</td><td class="edit"></td><td class="delete" onclick="DeleteMaster(this)"></td></tr>

和jQuery函數:

    function DeleteMaster(f){
    var master = f.parent().attr('id');
    alert (master);
}

但是我遇到一個錯誤:

未捕獲的TypeError:對象#沒有方法“父級”

怎么了?

您正在傳遞DOM元素,您需要將其轉換為jQuery對象:

function DeleteMaster(f){
    var master = $(f).parent().attr('id');
    alert (master);
}

您不應該這樣聲明onclick處理程序。 這是不好的做法,如果您將來要更改它,可能會導致麻煩。 jQuery的標准處理方式是:

// Wait for DOM to become ready
$(function() {
    // This replaces your "onclick" and "DeleteMaster" function
    $(".delete").on("click", function() {
        // Now you can access that <td> by calling $(this)
        var master = $(this).parent().attr("id");
    });
});

這樣,您不必在HTML標記中添加代碼。

這是因為f不是jquery對象。 您應該使用$(f)試試這個:

 function DeleteMaster(f){
  var master = $(f).parent().attr('id');
  alert (master);
}

演示版

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM