Javascript 使用.innerHTML向JS函数发送参数

Javascript 使用.innerHTML向JS函数发送参数,javascript,html,parameters,Javascript,Html,Parameters,我正在尝试运行两个不同的函数,它们做两件不同的事情。两者都需要在单击div时运行。div是在JavaScript的innerHTML函数中生成的 这是第二个运行的方法。它接受一个参数,然后在页面上生成一个div //Display larger image: function furtherDetails(mainImage){ var moreInfo = document.getElementById('divpropertyInfo'); moreInfo.innerHTM

我正在尝试运行两个不同的函数,它们做两件不同的事情。两者都需要在单击div时运行。div是在JavaScript的innerHTML函数中生成的

这是第二个运行的方法。它接受一个参数,然后在页面上生成一个div

//Display larger image:
function furtherDetails(mainImage){
    var moreInfo = document.getElementById('divpropertyInfo');
    moreInfo.innerHTML = '<div id="propInfoDisplay">' +
                            '<img id="image" src="'+mainImage+'" alt="Main Image" />' +
                        '</div>';
}
//显示较大的图像:
功能详细信息(主图像){
var moreInfo=document.getElementById('divpropertyInfo');
moreInfo.innerHTML=“”+
'' +
'';
}
这是运行该函数的代码:

//Create the property div:
function createPropertyDiv(mainImage, bedrooms, bathrooms, parkings, price, address, latitude, longitude){

    var propertyDiv = document.getElementById('divsearchResults');
    propertyDiv.innerHTML += '<div id="divResults" onclick="showMap('+latitude+','+longitude+');furtherDetails('+mainImage+');">' +
                                '<img id="mainImage" src="' + mainImage +'" alt="Main Image" />' +
                                '<p id="numBedrooms">'+ bedrooms +'</p>' +
                                '<img id="bedroomsImage" src="/images/bedrooms.png" />' +
                                '<p id="numBathrooms">'+ bathrooms +'</p>' +
                                '<img id="bathroomsImage" src="/images/bathrooms.png" />' +
                                '<p id="numParking">'+ parkings +'</p>' +
                                '<img id="parkingImage" src="/images/carspots.png" />' +
                                '<p id="Price">'+ price +'</p>' +
                                '<p id="addressHeading">Address: </p>' +
                                '<p id="Address">' + address + '</p>' +
                            '</div>';
}
//创建属性div:
函数createPropertyDiv(主图像、卧室、浴室、停车场、价格、地址、纬度、经度){
var propertyDiv=document.getElementById('divsearchResults');
propertyDiv.innerHTML+=“”+
'' +
“

”+卧室+”

'+ '' + “

”+浴室+”

'+ '' + “

”+停车场+”

'+ '' + “

”+Price+”

'+ “

地址:

”+ “

”+地址+”

'+ ''; }
我得到一个错误:

参数列表后未捕获的语法错误(缺少)


单击
onclick
中的变量需要用
'
包围,否则将在单击之前对其求值,从而导致语法错误

onclick="showMap(\''+latitude+'\',\''+longitude+'\');furtherDetails(\''+mainImage+'\')
简单例子

let el=document.getElementById('foo');
设f=“bar”;
功能条(c){
控制台日志(c);
}
el.innerHTML+='Baz';//记录f的值
el.innerHTML+='Boo';//记录功能栏

我想问题就在这里

根据您的代码,html将是这样的-

<div id="divResults" onclick="showMap(1,3);furtherDetails(images/123.jpg);">

您必须使用\来转义字符串,您的html应该是这样的-

<div id="divResults" onclick="showMap(1,3); furtherDetails('images/123.jpg');">


您何时收到此错误?你点击它的时间?@Christopher我不认为错误来自这两个函数。你能分享一个显示错误的工作片段吗?如果可能的话,一个JSFIDLE?检查你的函数是否有一对
&
@Farsay只有在我点击它时才说是。@Naren错误在其中一个函数中。当我不解析任何参数时,会运行furthedetails()函数。