我想连接字符串以便像这样创建html <ul> / <li>
:
var html = "<ul>";
json.elements.forEach( function (tab)
{
html += "<li><img onclick=partager(";
html += tab.title+","+tab.adresse+","+tab.image_url+","+tab.item_url+","+tab.url;
html += "); src="+tab.image_url+" /><h3>"+tab.title+"</h3><p>"+tab.adresse+"</p></li>";
});
html += "</ul>";
如何在HTML中包含<img>
标记中的javascript函数?它不像那样......
答案 0 :(得分:0)
似乎你忘了在HTML参数(onclick)周围添加引号(&#34;&#34;):
<img onclick="partager(...)" ... />
这就是你的代码的外观(使用ES6):
let html = '<ul>' + json.elements.map(tab =>
`<li>
<img onclick="partager(${[tab.title, tab.addresse, tab.image_url, tab.item_url, tab.url].join(',')})" src=${tab.image_url} />
<h3>${tab.title}</h3>
<p>${tab.addresse}</p>
</li>`
).join('') + '</ul>'
如果你不想使用ES6,这也可行:
var html = '<ul>'
json.elements.forEach(function(tab) {
html += '<li><img onclick="partager('
html += [tab.title, tab.addresse, tab.image_url, tab.item_url, tab.url].join(',')
html += ')" src="' + tab.image_url + ' /><h3>' + tab.title + '</h3><p>' + tab.addresse + '</p></li>'
})
html += '</ul>'