【发布时间】:2019-10-05 01:16:06
【问题描述】:
所以我正在做我的第一个项目,我只是在进行过程中弄清楚事情。 我正在使用一个名为 mal-scraper 的 npm 模块,该模块从 MyAnimeList 网站收集数据(例如:标题、动漫和图片的链接),并希望创建一个使用该模块显示当前正在播放的节目的网站。
我离线运行代码并将其保存到变量中。它在调用时打印出所需的结果,然后我想像这样制作卡片:
let count = Object.keys(obj).length;
//iterate through the obj and create cards
for (let i= 0;i < count;i++) {
html += `<div class="column">
<div class="card">
<div class="container">
<a id="link" href= "${obj[i]['link']}"><img id="img" src="${obj[i]['picture']}"></a>
<h1 id="title" >${obj[i]['title']}</h1>
<p id="date">${obj[i]['releaseDate']}</p>
</div>
</div>
</div>`
}
console.log(html); //test
return html;
这也很好,但是当我尝试使用 jquery 将它添加到 index.html 时
$("#row").add(html)
它不起作用,我收到了一个我不理解的 Cross-Origin 错误和各种 CORB 警告。我设法用 chrome 扩展修复了第一个,但不知道如何修复后者。
【问题讨论】:
-
你如何/在哪里运行这个脚本,相对于你的目标页面?
-
也许你想要
.append()而不是.add()? -
@mark.hch 谢谢!当我创建其他测试卡时,.append() 似乎可以工作,而 .add() 没有。
-
NP!当您将
$()与选择器一起使用时,它会创建一个与选择器匹配的元素集合——使用.add()将向该集合添加更多项目;例如$('div').css('color', 'blue').add('p').css('background-color', 'green')将选择所有div元素,将其文本颜色更改为蓝色,然后将所有p元素添加到集合中,并将所有div和p元素的背景颜色更改为绿色。.append()只是将 HTML “添加”到所选元素的末尾——这可能是两者混淆的原因。您也可以使用.html()来设置 HTML,而不是附加到它。 -
@mark.hch 我确实还有一个问题要问。所以在我的
app.js(与browserify 捆绑)中,我写了module.exports = dataOut,我想使用这个长html 字符串并将其插入index.html文件中。我怎么能这样做呢? (<script src="bundle.js"></script>已经存在于 html 中,我对$(document).ready(function(){})有所了解,只是不知道它是否应该进入index.html或app.js文件)
标签: javascript jquery html node.js