Javascript本身生成html嵌套
Javascript generating html nesting in itself
所以我的代码在这里:
function day(time) {
jQuery.parseJSON(time);
}
$(document).ready(function() {
$.getJSON("http://www.freecodecamp.com/news/hot", function(news) {
var html = "";
var br = "</br>";
news.forEach(function(val) {
html += "'n'
<div class='col-md-3'>'n'
<div class = 'panel panel-default'>'n <div class = 'panel-image'> 'n "
html += "<img src='" + val.image + " 'width='100%' height='100%' />'n'
</div>'n"
html += "<a href='" + val.link + "'>" + val.headline + "</a></p>"
html += "<p>by: <a href='http://www.freecodecamp.com/" + val.author.username + "'>" + val.author.username + "</a></p>"
html += "<p> ♥" + " " + val.upVotes.length + "</p>"
html += "<p>Posted on:" + day(val.timePosted)
"</p>'n'
</div>'n'
</div>'n"
});
$(".stories").html(html);
});
});
当它在代码中循环时,它应该单独生成,但是,这个函数的实际输出是生成代码,就好像它在col-md-3div.中嵌套了所有内容一样
有点像这样:
<div class="col-md-3">
<div class="col-md-3'>
.
.
.
<div...
您没有对带有结束标记的最后一个字符串执行任何操作:
html += "<p>Posted on:" + day(val.timePosted)
"</p>'n'
</div>'n'
</div>'n"
如果你想保持目前的结构:,你需要html +=
html += "<p>Posted on:" + day(val.timePosted)
html += "</p>'n'
</div>'n'
</div>'n"
我推荐像JSHint或ESLint这样的工具(http://eslint.org/)可以警告你这样的事情。例如,将代码粘贴到JSHint的在线linter中会显示
应为赋值或函数调用,但实际看到的却是表达式。
在有问题的线路上。
相关文章:
- 如果类不是一个选项,如何在使用 jQuery 时控制(避免)嵌套 html 元素的样式
- 如何在html angular中显示嵌套的json元素
- 嵌套JSON到平面HTML表
- 滚动所有嵌套的滚动条,使HTML元素进入视图
- 如何在JSON字符串中实现嵌套HTML
- 编码为深度嵌套对象的 HTML 字段 json
- 使用 jquery 更改嵌套在随机 html 元素中的 html 元素
- 在HTML中嵌套引号>JavaScript>WebForms或如何在JavaScript方法中调用.NET方
- CSS未应用于嵌套的HTML表
- html中的嵌套表单
- 在每个循环中的表单上使用嵌套资源和html类Rails Ajax
- 正在创建嵌套的HTML结构
- 递归地将嵌套xml转换为嵌套html
- 使用 jQuery 创建嵌套 HTML 元素的最佳方式
- 将 JavaScript 与 PHP 脚本中的嵌套引号回显到 HTML 页面上
- Javascript本身生成html嵌套
- html嵌套表通过单击表行第一个td来隐藏或显示表行
- JS /HTML嵌套引语的语法问题
- Html嵌套元素移除类
- HTML嵌套表单问题