在onclick函数中传递一个字符串对象作为第二个参数

Passing a string object as a second parameter in an onclick function

本文关键字:对象 字符串 一个 参数 第二个 函数 onclick      更新时间:2023-09-26

我知道我的报价有问题。标题,但看在上帝的份上,我想不出来。请帮助! !问题在于传递track。title。其他的都是轨道。Id, track.artwork_url)工作得很好。也许这是一个字符串连接问题??我要做的就是通过赛道。ID,这样我可以播放音轨,音轨。title,这样我就可以显示正在播放的曲目的名称。因此,参数是playerPlayNewClick(trackid, trackname)

$("#result_container").append(
            "<div id='result-"+index+"'>"+
              " <a href='#' class='play' id='"+index+
              "' onClick='playerPlayNewClick("+track.id + "," '''+track.title + ''' +  ")'>" +
              "<img class = 'albumartwork' id='artwork-" + index + "' src=" + track.artwork_url + "></a> ");

错误似乎在这一行;您可以通过语法高亮显示来判断track.title:

有什么地方不对。
"' onClick='playerPlayNewClick("+track.id + "," '''+track.title + ''' +  ")'>" +

但是,我建议你用DOM构建你的元素,而不是字符串;它更不容易出错,而且jQuery使它变得很容易:

var $div = $('<div>', {
  id: 'result-'+ index
});
var $a = $('<a>', {
  href: '#',
  class: 'play',
  id: index,
  click: function() {
    playerPlayNewClick(track.id, track.title)
  }
});
var $img = $('<img>', {
  class: 'albumartwork',
  id: 'artwork-'+ index,
  src: track.artwork_url
});
$('#result_container').append(
  $div.append(
    $a.append(
      $img
    )
  )
);

我对引号做了一些改动。我知道你有一个track变量,想传递track的值。标题与track.id.

相同
$("#result_container").append(
        "<div id='result-"+index+"'>"+
          " <a href='#' class='play' id='"+index+
          "' onClick='playerPlayNewClick("+track.id + ", ''"+track.title + "'')'>" +
          "<img class = 'albumartwork' id='artwork-" + index + "' src=" + track.artwork_url + "></a> ");

试试这个…注意双"绕"轨道。标题也是' around track.artwork_url.

双"处理包含单个'的标题。

$("#result_container").append(
        "<div id='result-"+index+"'>"+
          " <a href='#' class='play' id='"+index+
          "' onClick='playerPlayNewClick("+ track.id + ", """ + track.title + """)'>" +
          "<img class = 'albumartwork' id='artwork-" + index + "' src='" + track.artwork_url +    "'></a> ");