在插入的HTML中使用参数调用Javascript函数

在插入的HTML中使用参数调用Javascript函数,javascript,function,insert,Javascript,Function,Insert,好的,我有一个变量,一个函数和一个无序列表。我运行以下代码: var someid = '501bc5210642741838000000'; var liststring = '<li class="ui-state-default" id="'+someid+'">'+ '<button type="button" class="del" onclick="newfunction('+someid+');" >X</button

好的,我有一个变量,一个函数和一个无序列表。我运行以下代码:

var someid = '501bc5210642741838000000';
var liststring = '<li class="ui-state-default" id="'+someid+'">'+
                 '<button type="button" class="del" onclick="newfunction('+someid+');" >X</button>Slide</li>';
$('ul').append(liststring);
这样,当单击按钮时,它会将someid传递给newfunction(),newfunction()具有从DOM中删除包含按钮的列表元素的jQuery代码


搞砸了的是,我将list元素等包含在一个字符串中,以便将其附加到list HTML中。我验证了代码在其他情况下是否有效——我手动编写了两个列表元素,并且运行得非常完美。可能有一些语法我遗漏了-我遗漏了什么?

尝试在变量周围添加引号,以便它打印为字符串而不是变量名

'<button type="button" class="del" onclick="newfunction(\''+someid+'\');" >X</button>Slide</li>';
“XSlide”;

您应该能够只使用
live
-方法:

$(function() {
    $('li.ui-state-default').live('click', function() {
        $(this).remove();
    });
});
请注意,较新版本的jQuery不推荐使用这种方法,它现在在上使用

更多信息

lg


flo

尝试在引号中加上someid,如

onclick="newfunction(\'' + someid + '\');"
onclick="newfunction(\'' + someid + '\');"