JQuerywrap()函数只在第一次循环时正确地将链接包装在图像周围
JQuery wrap() function only correctly wraps links around image first time through a loop
下面的代码只需循环遍历艺术家列表,为每个项目生成图像和链接。这在循环中第一次起作用,但对于随后的迭代,似乎没有添加图像周围的wrap()
链接。我尝试了几种不同的方法,包括将所有代码封装在一个单独的变量中,我得到的最好的方法是生成链接,但实际上并没有封装在thumb
类(*)中。我担心客户端的操作不是我的强项,所以我很难理解为什么只有循环的第一次迭代成功地包裹在链接中。
*这是使用动态生成的属性ID并包装它,而不是使用类属性,如下所示。
function showArtists(adata) {
$("#artists").html("");
for (var i = 0; i < adata.artists.length; i++) {
var artist = adata.artists[i];
var artistSpan = document.createElement("span");
artistSpan.setAttribute("class", "artistView");
var artistPic = document.createElement("img");
artistPic.setAttribute("class","thumb");
artistPic.setAttribute("src",artistPicture)
$('.thumb').wrap(function() {return "<a href='#' onclick ='getAlbums(artist)'> </a>"});
artistSpan.appendChild(artistPic);
$("#artists").append(artistSpan);
}
}
您尝试过使用jQuery.each吗?或者jQuery.map?
http://jsfiddle.net/m4k5o992/2/
$(document).ready(function(){
showArtists();
});
function showArtists() {
var artists = [
{
id : "1",
artistThumb: "http://placehold.it/350x150",
name : "Van Gogh"
},
{
id : "2",
artistThumb: "http://placehold.it/350x150",
name : "Some Dude"
}
]
$("#artists").html("");
$.each(artists, function(index, i){
console.log(index, i);
$("#artists").append('<li><a href="#" onclick ="getAlbums(' + i.id + ')"> <span class="artistView">'+ i.name +' </span><img class="thumb" src=' + i.artistThumb + '"/></a></li>');
});
}
相关文章:
- 干净地链接 jQuery ajax 请求
- 如何正确地链接调用$.show()和$.thoggClass()来触发CSS3动画
- 我是否正确地链接了这个HTML和JavaScript文件
- JQuerywrap()函数只在第一次循环时正确地将链接包装在图像周围
- 如何正确地将条件(?)承诺与 Q.js 链接
- 如何在 extjs5 视图模型中正确声明链接
- 无法让javascript从XML列表正确创建链接
- Firefox不会“;正确地“;打开具有目标=“0”的链接_空白“;JavaScript在页面加载时添加的属性
- JavaScript变量毫无理由地链接在一起
- 如何正确地链接异步函数
- javascript是否正确地链接到html?为什么脚本没有运行
- 在jQuery中平滑地链接多个元素的动画
- 如何在jQuery中有条件地链接,而不指定缩写else语句
- 如何正确地链接渐变
- javascript数组中的对象神秘地链接在一起
- 没有从查询字符串中获得正确的链接
- 如何使用历史API或History.js来更改;活动的”;当刷新页面或按下后退按钮时,适当地链接
- 我可以'我没有成功地链接我的路由处理程序
- 使CSS/Javascript菜单正确识别链接
- Chrome上下文菜单生成不正确的链接