Javascript / jQuery前置图像

时间:2016-01-29 15:17:55

标签: javascript jquery repeat

我是学生,是JS和jQuery的新手。我正在尝试制作一个类似Facebook的项目,因为我可以在其中添加许多不同的东西。现在HTML只是静态的,但只要我有更多的知识,我就打算用户生成它。

我有不同的'Facebook'帖子。每篇文章都是一篇文章,整篇文章的标题是“新闻源”,文章都有这样的语法:

  • <H1>,使用全名,给出一个带有缩写名称的类。
  • <p>,其状态更新。在此之后,我使用javascript附加<ul>,其中包含<li>个喜欢,评论和分享的内容。

然后我添加了一些jQuery / JS代码来添加个人资料图片

profilePics = function () {
    var name = $('article h1').attr('class');
    name = capitalizeFirstLetter(name);
    console.log(name);
    var path = '../media/profile/' + name + '_Square_0.png';
    console.log(path);
    $('article h1').prepend('<img src="' + path + '" alt="image of ' + name + '">')
};

当我运行它时,它显示图像的alt文本,表示它无法打开图像。我的问题存在于两个部分:

  1. 我对路径进行了三重检查,所以基本上唯一可能出错的是我没有进入正确的父目录。我是从JS文件或它所在的目录开始计算位置的吗?

  2. 我想为每个帖子添加不同的图片(不确定多少)。现在它查看该课程的第一篇文章,然后将其添加到所有帖子

1 个答案:

答案 0 :(得分:0)

要在任何<h1>上添加不同的图片,您必须循环它们。并且您的http图像路径必须是绝对的,而不是相对的。

profilePics = function () {

    var imgPath = '/http-img-path/from/web-root/';

    $('article h1').each(function() {
        var name = $(this).attr('class');
        $(this).prepend("<img src='"+imgPath + name + "_Square_0.png' alt='image of "+name+"'");

    });

};