使用 jquery 动态生成的 URL 部分重复

我正在尝试在查询中动态生成新闻项目列表。新闻从 .json 文件中读取,并相应地生成 html 代码。由于它是一个双语网站(IT-EN),我将所有页面(除了主页)分为两个子文件夹,分别称为 it 和 en。通过将插入的语言标识为页面标签中的 lang 属性,并在 json 中添加数字索引建议的“新闻#”,动态生成新闻页面的链接。当我转到新闻页面时,我使用window.location.toString (). Split ('#') 拆分 url,然后选择 # 之后的那个。我设法动态生成所有内容,它可以 99% 工作,但链接有重复的语言:而不是/en/news#o /it/news# ottengo /it/it/news#。我省略了扩展名,因为它是由 .htaccess 自动插入的


我试图通过直接编写所有内容来消除包含链接和语言的变量,但它没有帮助。


function genera_elencoNews (objDati){   

    let lingua = $('html')[0].lang.toLowerCase();

    let articolo = objDati.articoli;

        articolo = articolo.reverse();


    let article         = '';

    let link_img        = '';

    let link            = '';

    let foto            = '';

    let data_articolo   = '';

    let titolo          = '';

    let contenuto       = '';


    for (let i = 0; i < Object.keys(objDati.articoli).length; i++){

        article         = $('<article>').attr('class', 'box excerpt');



        link_img        = $('<a>').attr('class', 'image left').attr('href', lingua + '/news#' + articolo[i].newsId); 

        link            = $('<a>').attr('href', lingua + '/news#' + articolo[i].newsId);

        foto            = $('<img>').attr('class', 'Miniatura').attr('src', '/img/news/'+ articolo[i].foto);

        data_articolo   = $('<span>').attr('class', 'date').html(articolo[i].data);

        titolo          = articolo[i].titolo;

        contenuto       = $('<p>').html(articolo[i].contenuto.substring (0, 200) + '...');


    }

}


慕仙森
浏览 123回答 1
1回答

烙印99

我设法解决了这个问题,但我决定不删除这个问题,以防它对其他人有用。link = $('<a>').attr('href', lingua + '/news#' + articolo[i].newsId);问题在于建立链接。它在家里起作用,因为它在根中,因此路径变成了example.com/it/news#.&nbsp;在新闻存档页面上,它位于 example.com/it 中,生成的链接是example.com/it/it/news#.现在,解决之后,我明白了解决方法简单但不琐碎,特别是对于那些没有太多经验的人:从根开始链接的路径:而不是it/news#使用/it/news#然后我通过添加斜杠 (/) 修改了代码行:&nbsp;link = $('<a>').attr('href', '/' + lingua + '/news#' + articolo[i].newsId);
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript