Javascript方法赢得';不可处决
我有一个JavaScript中的方法不会被执行。。 已经通过Firebug进行了调试,但我不知道问题出在哪里 我有一个表格,其中的单元格应该充满视频链接。 变量Javascript方法赢得';不可处决,javascript,jquery,html,Javascript,Jquery,Html,我有一个JavaScript中的方法不会被执行。。 已经通过Firebug进行了调试,但我不知道问题出在哪里 我有一个表格,其中的单元格应该充满视频链接。 变量videoPath包含链接视频。视频是我的目标 var vids = {"video": [ { "name": "Video 1", "path": "videos/band/vid1.f4v" }, { "n
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
。您还需要在该循环中使用varproperty
。从何处获取videoPath?该videoPath
字符串是否包含字符串文字(带引号)或仅包含变量名(不带引号)?检查生成的HTML并检查是否出现引用错误请注意,问题与JSON完全无关。您混淆了JavaScript对象文本(JavaScript语言语法的一种构造)和JSON(一种独立于语言的数据交换格式,如XML或CSV)。我将相应地编辑您的问题。另请参见:。我已经添加了我的JSON对象。我看不到正在创建videoPath
的位置。这是视频中的一个值吗?如果是,您想像这样使用它:vids.video.videoPath
。您还需要在该循环中使用varproperty
。从何处获取videoPath?该videoPath
字符串是否包含字符串文字(带引号)或仅包含变量名(不带引号)?检查生成的HTML并检查是否出现引用错误请注意,问题与JSON完全无关。您混淆了JavaScript对象文本(JavaScript语言语法的一种构造)和JSON(一种独立于语言的数据交换格式,如XML或CSV)。我将相应地编辑您的问题。另请参见:。我已添加JSON对象