0

我有一些代码可以搜索 Instagram 并返回一些结果。这些显示在 div 'imgDiv' 中的一个小网格中。图像标题被添加为每个图像的“替代”文本,如果我在alert('' + title + ');“前置”功能之后立即输入,我可以看到标题被准确地完整解析。

代码的下一部分让用户单击图像并放大查看。这部分工作正常,正确的图像被放大并隐藏了网格。我想在放大的图像下方添加“替代文字”作为标签 - 这就是它出错的地方。即使我使用的是用于检索 img src 的并行函数,当我运行下面的代码时,会显示放大的图像,创建额外的 div,但只显示 alt 文本的第一个单词 -字符串在第一个空格处中断。

任何人都可以在这里看到我哪里出错了:

$('#imgDiv').prepend('<img alt=' + title + ' width=89 src= ' + imgurl  + ' onclick =  enlarge(this)>&nbsp;');
            }
       });
    }
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>')
   }

感谢您的任何建议/帮助。

4

2 回答 2

1

您需要使用find来定位该特定元素

采用

var label = $(el).find('img').attr('alt');

this对应于元素$('#imgDiv')。因此,您需要找到作为元素后代的 img 。

于 2013-07-17T23:58:27.827 回答
0

解决了!错误不在 jquery 中,而是在 alt 文本是字符串文字的事实中。灯泡亮了,这解决了它:

$('#imgDiv').prepend('<img alt="' + title + '" width=89 src= ' + imgurl  + ' onclick =  enlarge(this)>&nbsp;');

添加一些标点符号的简单问题。

感谢所有回答或考虑过它的人。我希望这个答案对其他人有所帮助。

于 2013-07-18T04:42:44.827 回答