Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/meteor/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript方法赢得';不可处决_Javascript_Jquery_Html - Fatal编程技术网

Javascript方法赢得';不可处决

Javascript方法赢得';不可处决,javascript,jquery,html,Javascript,Jquery,Html,我有一个JavaScript中的方法不会被执行。。 已经通过Firebug进行了调试,但我不知道问题出在哪里 我有一个表格,其中的单元格应该充满视频链接。 变量videoPath包含链接视频。视频是我的目标 var vids = {"video": [ { "name": "Video 1", "path": "videos/band/vid1.f4v" }, { "n

我有一个JavaScript中的方法不会被执行。。 已经通过Firebug进行了调试,但我不知道问题出在哪里

我有一个表格,其中的单元格应该充满视频链接。 变量
videoPath
包含链接<代码>视频。视频是我的目标

var vids = {"video":
    [
        {
            "name": "Video 1",
            "path": "videos/band/vid1.f4v"
        },
        {
            "name": "Video 2",
            "path": "videos/band/vid2.f4v"
        }
    ]
};

var i = 0;
for (property in vids.video) {
    if(vids.video.hasOwnProperty(property)) {
        videoPath = vids.video[i].path;
        $('table.videos tr').append("<td><a class='videolink' href='javascript:void(0)' onclick='PlayVideo("+videoPath+")'>some divs</a></td>");
    }
    i++;
}


function PlayVideo(vidd) {
    alert(vidd); 
}

有什么想法吗?

您必须在
PlayVideo
调用中的参数周围添加单引号

$('table.videos tr').append("<td><a class='videolink' href='javascript:void(0)' onclick='PlayVideo(\\'"+videoPath+"\\')'>some divs</a></td>");

您必须在
PlayVideo
调用的参数周围添加单引号

$('table.videos tr').append("<td><a class='videolink' href='javascript:void(0)' onclick='PlayVideo(\\'"+videoPath+"\\')'>some divs</a></td>");

使用此选项,播放视频的参数必须在
''

var videoPath ="C:\\test.avi";

$('body').append("<a class='videolink' href='javascript:void(0)' onclick=\"PlayVideo('" + videoPath + "')\">some divs</a>");
var videoPath=“C:\\test.avi”;
$('body')。追加(“”);

使用此选项,播放视频的参数必须在
''

var videoPath ="C:\\test.avi";

$('body').append("<a class='videolink' href='javascript:void(0)' onclick=\"PlayVideo('" + videoPath + "')\">some divs</a>");
var videoPath=“C:\\test.avi”;
$('body')。追加(“”);

以下是一些替代代码,它消除了对冗长附加行的需要,也消除了您对引用内容的担忧

var cell = '<td><a class="videolink" data-path="#{path}">#{name}</a></td>';

$('table.videos tr').each(function (index, element) {
  var path = vids.video[index].path;
  var name = vids.video[index].name;
  data = cell.replace('#{path}', path).replace('#{name}', name);
  $(this).append(data);
});

$(document).on('click', '.videolink', function () {
  playVideo($(this).data('path'));
});

function playVideo(path) {
  console.log(path);
}
var cell='#{name}';
$('table.tr')。每个(函数(索引,元素){
var path=vids.video[index].path;
var name=vids.video[index].name;
data=cell.replace('#{path}',path.replace('#{name}',name);
$(此)。追加(数据);
});
$(文档)。在('click','videolink',函数(){
播放视频($(this.data('path'));
});
功能播放视频(路径){
console.log(路径);
}

以下是一些替代代码,它消除了对冗长附加行的需要,也消除了您对引用内容的担忧

var cell = '<td><a class="videolink" data-path="#{path}">#{name}</a></td>';

$('table.videos tr').each(function (index, element) {
  var path = vids.video[index].path;
  var name = vids.video[index].name;
  data = cell.replace('#{path}', path).replace('#{name}', name);
  $(this).append(data);
});

$(document).on('click', '.videolink', function () {
  playVideo($(this).data('path'));
});

function playVideo(path) {
  console.log(path);
}
var cell='#{name}';
$('table.tr')。每个(函数(索引,元素){
var path=vids.video[index].path;
var name=vids.video[index].name;
data=cell.replace('#{path}',path.replace('#{name}',name);
$(此)。追加(数据);
});
$(文档)。在('click','videolink',函数(){
播放视频($(this.data('path'));
});
功能播放视频(路径){
console.log(路径);
}

我看不到正在哪里创建
视频路径。这是视频中的一个值吗?如果是,您想像这样使用它:
vids.video.videoPath
。您还需要在该循环中使用var
property
。从何处获取videoPath?该
videoPath
字符串是否包含字符串文字(带引号)或仅包含变量名(不带引号)?检查生成的HTML并检查是否出现引用错误请注意,问题与JSON完全无关。您混淆了JavaScript对象文本(JavaScript语言语法的一种构造)和JSON(一种独立于语言的数据交换格式,如XML或CSV)。我将相应地编辑您的问题。另请参见:。我已经添加了我的JSON对象。我看不到正在创建
videoPath
的位置。这是视频中的一个值吗?如果是,您想像这样使用它:
vids.video.videoPath
。您还需要在该循环中使用var
property
。从何处获取videoPath?该
videoPath
字符串是否包含字符串文字(带引号)或仅包含变量名(不带引号)?检查生成的HTML并检查是否出现引用错误请注意,问题与JSON完全无关。您混淆了JavaScript对象文本(JavaScript语言语法的一种构造)和JSON(一种独立于语言的数据交换格式,如XML或CSV)。我将相应地编辑您的问题。另请参见:。我已添加JSON对象