Javascript jQuery-在方法中使用参数调用函数
我想知道如何在方法中调用带有参数的函数。 我有2个函数,我想在单击由addCode()函数创建的列表元素时调用函数deleteCode()。 我确信解决方案非常简单,但我现在看不到。 非常感谢Javascript jQuery-在方法中使用参数调用函数,javascript,jquery,Javascript,Jquery,我想知道如何在方法中调用带有参数的函数。 我有2个函数,我想在单击由addCode()函数创建的列表元素时调用函数deleteCode()。 我确信解决方案非常简单,但我现在看不到。 非常感谢 function addCode(code) { $('#codeList').append('<li class="codeList" onClick="deleteCode(code);">' + code + '</li>'); } function deleteC
function addCode(code) {
$('#codeList').append('<li class="codeList" onClick="deleteCode(code);">' + code + '</li>');
}
function deleteCode(code) {
$('#'+code).remove();
}
函数addCode(代码){
$(“#codeList”).append(““+code+” ”);
}
函数deleteCode(代码){
$('#'+代码).remove();
}
低调行事,你就没事了
function addCode(code) {
$('#codeList').append($('<li>', {
'class': 'codeList',
'text': code,
'click': function(e) {
deleteCode(code);
}
}));
}
函数addCode(code){
$(“#代码列表”)。追加($(“”{
“类”:“代码列表”,
“文本”:代码,
“单击”:函数(e){
删除代码(code);
}
}));
}
参考:您可以这样做:
function addCode(code) {
$('<li class="codeList">' + code + '</li>').click(function() {
deleteCode(code);
}).appendTo('#codeList');
}
function deleteCode(code) {
$('#'+code).remove();
}
…但代码不会生成具有该ID的元素。我假设您已在其他地方添加了该元素和其他代码,并且目标不是删除您使用此代码添加的li
如果您确实想在单击时删除相同的li
,则完全不需要ID:
function addCode(code) {
$('<li class="codeList">' + code + '</li>').click(function() {
$(this).remove(); // <== Changed here
}).appendTo('#codeList');
}
函数addCode(代码){
$(''+code+' ')。单击(函数(){
$(this).remove();//通过代码而不是附加原始HTML创建
元素
function addCode(code) {
// Create the <li>
var newEl = document.createElement("li");
newEl.className = "codeList";
// Assign the click function via jquery's event helper.
$(newEl).click(function(code) {
// Call your deleteCode function and pass in the given parameter.
deleteCode(code);
});
// Append the new element to the codeList node.
$(#codeList).append(newEl);
}
函数addCode(代码){
//创建
var newEl=document.createElement(“li”);
newEl.className=“代码列表”;
//通过jquery的事件助手分配click函数。
$(newEl)。单击(函数(代码){
//调用deleteCode函数并传入给定的参数。
删除代码(code);
});
//将新元素附加到代码列表节点。
$(#代码列表).append(newEl);
}
您可以尝试:
function addCode(code) {
$('#codeList').append('<li class="codeList" onClick="deleteCode(' + code + ');">'+code+'</li>');
}
函数addCode(代码){
$(“#codeList”).append(““+code+” ”);
}
+1,我刚才键入的内容。@jAndy的回答是另一种很好的方式。@Downvoter,不说你为什么否决投票是不好的形式。我不是否决投票人,但我可能怀疑缺少会导致示例无法运行的控件ID可能是否决投票的原因。你不能$('#'+code)。删除();
如果没有ID设置为要删除的代码。@Lazarus:谢谢。这个逻辑只是来自OP的代码。据我们所知,他正在添加一个ID元素,然后这个代码应该删除它,而他引用的代码中没有这个ID。(我们不知道点击li
应该删除它——这可以更直接地完成!)在任何情况下,这都是不恰当的苛刻,尤其是没有评论。@t.J.Crowder:从样本中可以看出,意图似乎很清楚,但也承认这可能与这两种假设都有相同的延伸。
function addCode(code) {
// Create the <li>
var newEl = document.createElement("li");
newEl.className = "codeList";
// Assign the click function via jquery's event helper.
$(newEl).click(function(code) {
// Call your deleteCode function and pass in the given parameter.
deleteCode(code);
});
// Append the new element to the codeList node.
$(#codeList).append(newEl);
}
function addCode(code) {
$('#codeList').append('<li class="codeList" onClick="deleteCode(' + code + ');">'+code+'</li>');
}