2
 $(".filelist").append("<tr><td>Admin</td><td><a href="+fileadd+">"+file.name+"</a></td><td><a href='javascript:deleteFile("+thedata.fileid+","+thedata.fileid+","+thedata.filename+")' id="+thedata.fileid+">Delete</a></td></tr>")

I am making a silly mistake with this.. please correct me, I am getting the following error WHEN I CLICK ON THE DELETE LINK.

Uncaught SyntaxError: Unexpected token ILLEGAL 
4

4 回答 4

1

每当您将任何字符串作为参数传递时,您必须在引号下传递它,并且您可以使用 \" 来实现。n 如果传递的字符串不是字符串,则不要使用引号,否则您可能会得到不正确的结果。

有关更多说明,请查看此答案实时示例

于 2013-08-11T16:47:33.583 回答
1
var href1="javascript:deleteFile('"+thedata.fileid+"','"+thedata.fileid+"','"+thedata.filename+"')";

var $row="<tr><td>Admin</td>";
$row=$row+"<td><a href=\""+fileadd+"\">"+file.name+"</a></td>";
$row=$row+"<td><a href=\""+href1+"\" id=\""+thedata.fileid+"\">Delete</a></td></tr>";


$(".filelist").append($row);

尝试分而治 之的方法,上面的方法可能会也可能不会解决问题,但它更容易阅读和理解,而不是长长的单行,将它分成多行。

于 2013-08-11T15:25:05.677 回答
1
$(".filelist").append("<tr><td>Admin</td><td><a href="+fileadd+">"+file.name+"</a></td><td><a href='javascript:deleteFile("+thedata.fileid+","+thedata.fileid+","+thedata.filename+")' id="+thedata.fileid+">Delete</a></td></tr>");

使用转义引号\"或您的变量必须已经在其中,并在最后关闭语句;

于 2013-08-11T14:56:02.830 回答
1

我会做这样的事情:

delete_link = $('<a>').text('Delete')
  .data('filedelete',{id: thedata.fileid, name: thedata.filename})
  .click(function(){
     data = $(this).data('filedelete');
     deleteFile(data.fileid,data.fileid,data.filename);
  })

$('<tr>').append(
  $('<td>')
    .attr('href',fileadd)
    .text(file.name)
    .append(delete_link))
.appendTo('.filelist')

这样我就可以避免在同一个文件中混合 HTML 和 JS/JQuery 代码......好吧,它有点长,但它不是比.append('<foo bar="'+ gibsy +'">')样式更聪明吗?当我使用这种语法时,我总是忘记一个字符。

于 2013-08-11T16:28:38.850 回答