Javascript 变量上的jQuery选择器?
我不熟悉jQuery和JavaScript,所以请耐心听我说。我试图执行一个AJAX get请求来检索包含曲目信息的JSON文件,其格式如下:Javascript 变量上的jQuery选择器?,javascript,jquery,html,ajax,json,Javascript,Jquery,Html,Ajax,Json,我不熟悉jQuery和JavaScript,所以请耐心听我说。我试图执行一个AJAX get请求来检索包含曲目信息的JSON文件,其格式如下: [ { "name" : "Short Skirt, Long Jacket", "artist" : "Cake", "album" : "Comfort Eagle", "genre" : "Rock", "year" : 2001, "album
[
{
"name" : "Short Skirt, Long Jacket",
"artist" : "Cake",
"album" : "Comfort Eagle",
"genre" : "Rock",
"year" : 2001,
"albumCoverURL" : "images/ComfortEagle.jpg",
"bandWebsiteURL" : "http://www.cakemusic.com"
},
{
...
}
]
我正在尝试使用以下两个功能:
function loadJSON ()
{
$.getJSON("lab4.json", updateHTML(result));
}
$(document).ready(function ()
{
$("site").click(function ()
{
loadJSON();
});
});
当用户单击id站点的链接时,我希望发送一个异步javascript调用来检索我的JSON文件。成功后,应在此处调用我的updateHTML函数:
function updateHTML (result)
{
var templateNode = document.getElementById("song-template").cloneNode(true);
document.removeChild(getElementById("song-template"));
$.each(result, function(i, song)
{
var songNode = templateNode.cloneNode(true);
});
}
现在,我陷入了困境:既然我有了这个克隆节点,我该如何使用jQuery在这里填写HTML中的所有字段:
<a id="site" href="#"><img id="coverart" src="noalbum.png" /></a>
<h1 id="title"></h1>
<h2 id="artist"></h2>
<h2 id="album"></h2>
<p id="date"></p>
<ul id="genres"></ul>
但现在我面临两个问题。第一,我如何从我的JSON对象中获取新的url,我已将其读入为“宋”,第二,我如何在将站点id添加回文档的html之前将其定向到我克隆的节点中?谢谢 您可以从密钥连接ID
$.each(dataObj, function(key, val) {
//dataObj is your returned JSON
if ($("#" + key).length)
$("#" + key).val(val);
});
首先,如果要使用jquery,请使用jquery 您可以使用ejquery克隆方法而不是js克隆节点来实现这一点 我认为这就是你试图用一个更具jquery风格的解决方案来解决的问题
var song = [1,2,3,4];
var templateNode = $("#lala");
$.each(song, function(key, val){
var songNode = templateNode.clone(true);
songNode.children('span.yo').text(val);
$('#wrap').append(songNode);
});
至于json解析,在每次迭代中,您应该能够像访问任何其他json一样访问道具,因此在每个循环中,只需针对一个道具,如:
song.albumCoverURL
只是我在你的代码中看到的一个提示。要使用id选择带有jQuery的元素,您确实需要在id前面加一个,如$site,这里有一个逻辑错误:$.getJSONlab4.json,updateHTMLresult;你执行updateHTML太早了。我不知道你的意思。太早了?
song.albumCoverURL