这个函数的正确语法形式是什么 - Javascript

时间:2015-04-17 02:12:28

标签: javascript jquery html html5 web-sql

在以下代码行中,我尝试在javascript中的html标记内添加一个函数:

nuevo = "<p class='item'>" + res.tarea + "<button onclick = '" + return EliminarTareas(database) + (" + res.tarea +");'>" + "Eliminar" + "</button></p>";
$('#listatareas').append(nuevo);
function EliminarTareas(id, base) {
     base.transaction(function(tx) {
        tx.executeSql("DELETE tarea FROM Tareas WHERE tarea=?", [id], function () {
        });
     });
 }

2 个答案:

答案 0 :(得分:1)

主要问题是这部分+return EliminarTareas(" + database + ", " + res.tarea +");'>"。它会丢弃第二个参数,因为您关闭了paranthesis ),它也有引用问题。 应该是这样的+" return EliminarTareas(" + database + ", " + res.tarea + ");'>"

但是,我认为用.data解决这个问题是有效的,它可能会提供更好的结构。以下是我的版本,其中包含您的一些代码(DEMO:https://jsfiddle.net/9q4hLs3a/):

var nuevo = $("<p class='item'><button data-var1='" + database + "' data-var2='" + res.tarea + "'>Eliminar</button></p>");

$('#listatareas').append(nuevo);


$(document).ready(function(){
    $(document).on('click', '#listatareas button', function(){

    var var1 = $(this).data('var1');
    var var2 = $(this).data('var2');
    EliminarTareas(var1 , var2 )
});



function EliminarTareas(id, base){

    base.transaction(function(tx){

        tx.executeSql("DELETE tarea FROM Tareas WHERE tarea=?", [id], function (){

    });
}

答案 1 :(得分:0)

我认为这就是你想要的

"<p class='item'>"+ res.tarea +"<button onclick = 'EliminarTareas("+database+","+res.tarea +")'>Eliminar</button></p>";