从HTML发送参数到javascript函数

时间:2012-01-17 18:14:49

标签: javascript jquery

此代码可以很好地将一个参数发送到javascript函数,但是当我添加第二个参数时,它不会。 onclick="open_livemass(\"Devotion\",'+devotion_channel.idx+');"。这是将这些参数发送到函数的正确方法吗?一个参数是静态的。另一个devotion_channel.idx由创建HTML的javascript确定。

show_devotion_alert = '<span style="cursor:pointer;"'+
  'onclick="open_livemass(\"Devotion\",'+devotion_channel.idx+');"><br/>'+
  devotion_name+' '+time_info+'<br/>('+devotion_channel.name+')</span>';

$('#Devotion_alert').html(show_devotion_alert);

4 个答案:

答案 0 :(得分:2)

您正在混合引用样式

'onclick="open_livemass(\'Devotion\',' + devotion_channel.idx + ');"

但为什么不这样做:

show_devotion_alert = '<span id="newSP" style="cursor:pointer;"><br/>'+
  devotion_name+' '+time_info+'<br/>('+devotion_channel.name+')</span>';

$('#Devotion_alert').html(show_devotion_alert);

$("#newSP").click(function() {
    open_livemass("Devotion", devotion_channel.idx);
});

或者更好:

show_devotion_alert = $('<span />').css("cursor", "pointer").html("<br/>" +
  devotion_name + ' ' + time_info + '<br/>(' + devotion_channel.name + ')');

show_devotion_alert.click(function() {
    open_livemass("Devotion", devotion_channel.idx);
});

$('#Devotion_alert').html(show_devotion_alert);

答案 1 :(得分:1)

$('#Devotion_alert').empty().append( $( "<span>", {
    css: {
        cursor: "pointer"
    },

    html: "<br />" + devotion_name + " " + time_info + "<br />",

    click: $.proxy( open_livemass, this, "Devotion", devotion_channel.idx )
}));

答案 2 :(得分:0)

试试这个:

show_devotion_alert = "<span style=\"cursor:pointer;\" onclick=\"open_livemass(\"Devotion\","+devotion_channel.idx+");\"><br />"+devotion_name+" "+time_info+"<br />("+devotion_channel.name+")</span>";

答案 3 :(得分:0)

我建议你试试这个。

var show_devotion_alert = '<span style="cursor:pointer;"><br />' 
                        + devotion_name + ' ' + time_info + '<br />('
                        + devotion_channel.name + ')<span/>';


$('#Devotion_alert').html(show_devotion_alert)
.find('span')
.click(function(){
    open_livemass('Devotion', devotion_channel.idx);
});