我有一些代码可以搜索Instagram并返回一些结果。它们显示在div'imgDiv'中的一个小网格中。图像标题被添加为每个图像的“alt”文本,如果我在“prepend”函数之后立即放入alert('' + title + ');
,我可以看到标题被完整地准确解析。
代码的下一部分允许用户点击图像并放大显示。这部分工作正常,正确的图像被放大,网格被隐藏。我想在放大的图像下面添加'alt text'作为标签 - 这就是它出错的地方。即使我使用并行函数来检索img src,当我运行下面的代码时,显示放大的图像,创建附加div,但只显示alt文本的第一个单词 - 字符串在第一个空格处断开。
任何人都可以在这里看到我出错的地方:
$('#imgDiv').prepend('<img alt=' + title + ' width=89 src= ' + imgurl + ' onclick = enlarge(this)> ');
}
});
}
function enlarge(el) {
var source = $(el).attr('src');
var label = $(el).attr('alt');
$('#imgDiv').css('display', 'none');
$('#bigDiv').css('display', 'block').html('<img width = 600 src= ' + source + '><br><div class=imgTitle>' + label + '</div>')
}
感谢您的任何建议/协助。
答案 0 :(得分:1)
您需要使用find
来定位该特定元素
使用
var label = $(el).find('img').attr('alt');
this
对应元素$('#imgDiv')
。所以你需要找到img,它是元素的后代。
答案 1 :(得分:0)
解决!错误不在jquery中,而是在alt文本是字符串文字的情况下。灯泡继续,这固定了它:
$('#imgDiv').prepend('<img alt="' + title + '" width=89 src= ' + imgurl + ' onclick = enlarge(this)> ');
添加一点标点符号的简单问题。
感谢所有回答或想过的人。我希望这个答案有助于其他人。