Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/364.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 无效的字符串长度错误_Javascript_Jquery_Html_Css - Fatal编程技术网

Javascript 无效的字符串长度错误

Javascript 无效的字符串长度错误,javascript,jquery,html,css,Javascript,Jquery,Html,Css,我看到了地图 在标记的弹出窗口中,我显示信息 在json[i].rating中,我有一个从1到5的数字,现在我显示它。但我需要展示明星形象,比如这个 因此,如果我有例如2的评级,我需要有两颗星 我如何才能正确地做到这一点 这是我现在的工作片段 $(函数(){ 常量json=[{ “名称”:“公园酒店”, “地址1”:“克兰布鲁克路327号”, “评级”:2, “液化天然气”:0.065, “lat”:51.568, “图片”:[{ “url”:”https://aobtravel.s3.am

我看到了地图

在标记的弹出窗口中,我显示信息

json[i].rating
中,我有一个从1到5的数字,现在我显示它。但我需要展示明星形象,比如这个

因此,如果我有例如2的评级,我需要有两颗星

我如何才能正确地做到这一点

这是我现在的工作片段

$(函数(){
常量json=[{
“名称”:“公园酒店”,
“地址1”:“克兰布鲁克路327号”,
“评级”:2,
“液化天然气”:0.065,
“lat”:51.568,
“图片”:[{
“url”:”https://aobtravel.s3.amazonaws.com/hotelpictures/003/623/222/LON-91B-1.jpg?1387213390",
“说明”:“外部”
},
{
“url”:”https://aobtravel.s3.amazonaws.com/hotelpictures/003/623/225/LON-91B-2.jpg?1387213390",
“说明”:“大厅”
},
{
“url”:”https://aobtravel.s3.amazonaws.com/hotelpictures/003/623/227/LON-91B-3.jpg?1387213390",
“说明”:“大厅”
},
{
“url”:”https://aobtravel.s3.amazonaws.com/hotelpictures/003/623/230/LON-91B-4.jpg?1387213391",
“说明”:“大厅”
},
{
“url”:”https://aobtravel.s3.amazonaws.com/hotelpictures/003/623/232/LON-91B-5.jpg?1387213391",
“说明”:“客房”
}
],
“销售价格”:2847
}];
常数星=`
`;
常量标记='pk.eyj1ijoibmvtzxnpc2vziiwiysi6imnqadqycta1znezy3bpbdzpnhk1c2iefq.KbuJOIjYh6VrWYo48yxETg';
mapboxgl.accessToken=令牌;
让map=newmapboxgl.map({
容器:“映射画布”,
风格:'mapbox://styles/mapbox/streets-v9',
中间:[0.065,51.568],
缩放:3
});
addControl(新的mapboxgl.NavigationControl());
$.each(json,函数(i,项){
让myLatlng=new mapboxgl.LngLat(json[i].lng,json[i].lat);
让星星为你;
for(设s=0;i'+json[i].address1+'

'+'

Reting:'+json[i].rating+'

'+'

price'+stars+'

')) .addTo(地图); }); });
html,
身体,
#地图画布{
高度:500px;
边际:0px;
填充:0px
}
#地图画布{
宽度:800px;
}

您似乎正在寻找:

star.repeat(json[i].rating)
这对你有用吗?

示例:

var酒店=[
{
名称:'Hotel-1',
评级:3
},
{
名称:'Hotel-2',
评级:5
}
];
var content=document.querySelector('.content');
酒店。forEach(功能(酒店){
//根据费率添加div.star
var htmlStars=“”;
对于(var i=0;i
.hotel span{
字号:2em;
}
.明星{
显示:内联;
}
.明星:之后{
内容:url('https://res.cloudinary.com/dzwdseno3/image/asset/f_auto/star-bb0cd011d3d4aa12c83109f30c6c17ed.png');
}


您能否将代码简化为特定问题?如果它与返回的数据相关,则更新以包含一些示例数据。事实上,你甚至不可能知道你的错误是从哪里来的。读取。错误出现在哪一行?还有,为什么不使用item而不是json[i]?我更新了我的帖子。检查一下@弗里多姆米更新后。运行Snippet@Petetypo-您使用i而不是s-
(让s=0;i
应该是
(让s=0;s
,更改它,代码就会工作