Javascript-元素列表后缺少]

Javascript-元素列表后缺少],javascript,Javascript,我有以下资料: var inf = { PID: pid, PDate: pdate}; 然后我调用了这个函数 SetVal(inf); function SetVal(inf) { alert(inf.PID); --以上方法很好。我表现得很好 但是,如果我有一个超链接,可以调用SetVal,则它不起作用: valset = '<li><a href=\'javascript:SetVal(' + inf + ')

我有以下资料:

     var inf = { PID: pid, PDate: pdate};
然后我调用了这个函数

     SetVal(inf);


    function SetVal(inf) {

      alert(inf.PID);
--以上方法很好。我表现得很好

但是,如果我有一个超链接,可以调用SetVal,则它不起作用:

     valset =  '<li><a href=\'javascript:SetVal(' + inf + ');\' ><h3> ' + this.PID + '</h3><p>'

    $('#DataSet).html(valset);
valset='
  • '+this.PID+'' $('#DataSet).html(valset);
  • 当我点击超链接时,我在FireBug中看到以下消息:

    元素列表后缺少“]

    不知道怎么解决。我以为他们会是同一个人

    您的变量“inf”是一个对象,但在构建该元素时,您试图将其视为字符串。如果只使用jQuery,效果会更好:

    $('#DataSet').html($('<li/>')
      .append($('<a/>', {
        href: function() { SetVal(inf); },
      }))
      // ...
    
    $(“#数据集”).html($(“
  • ”) .附加($(''){ href:function(){SetVal(inf);}, })) // ...
  • 不确定这是一个错误还是一个问题,但是在
    $(“#DataSet')
    中缺少一个
    '
    。如果您试图在内联处理程序中引用
    inf
    变量,那么您不应该连接它的值。
    这假设
    inf
    是一个全局变量。