我试图这样做:
var linha = $(this).parent().parent()
$("#modal-footerMsg").append(
"<button type='button' id='btnOK'
class='btn btn-md' onclick='RemoveLinha(" + linha + ");'> OK");
将执行此功能:
function RemoveLinha(element) {
element.parent().parent().remove();
}
我该怎么做?将jquery对象传递给函数?
答案 0 :(得分:2)
您在添加HTML之后附加事件监听器
$(document).ready(function(){
var linha = $("#removeElm")
$("#modal-footerMsg").append("<button type='button' id='btnOK' class='btn btn-md'> OK</button>");
$("#btnOK").on("click",function(){
RemoveLinha(linha);
})
function RemoveLinha(element) {
element.remove();
}
})
答案 1 :(得分:1)
目前,您正在尝试将一个jQuery对象 - 实际上是一个对象,而不是它的字符串表示形式 - 放入一个字符串中。这不会奏效。
您已经在使用jQuery,它非常适合构建元素并在这些元素上创建事件处理程序,而无需恢复设置onclick=""
的内联字符串。单独创建按钮元素,设置click事件处理程序,然后将其附加到模式:
// get parent element
var linha = $(this).parent().parent();
// create a button
var button = $('<button type="button" id="btnOK" class="btn btn-md" />');
// add click event handler to button
button.click(function() { RemoveLinha(linha); });
// append button and text to modal
$("#modal-footerMsg").append(button, "OK");
或者如果你想要简洁而又凌乱:
var linha = $(this).parent().parent();
$("#modal-footerMsg").append(
$('<button type="button" id="btnOK" class="btn btn-md" />')
.click(function() { RemoveLinha(linha); }),
"OK"
);