javascript - 使用jQuery动态创建一个在选择图像时调用的函数
问题描述
我正在使用 jQuery 在页面上动态显示可选图像。当我选择图像时,控制台显示错误“Uncaught ReferenceError: MTU4 is not defined at HTMLAnchorElement.onclick (AwardsEdit.html:1)”。这就是所谓的:
“getAwardDetailsFunction(MTU4)”。
jQuery:
contents += '<figure>';
contents += '<a href="#" onclick="getAwardDetailsFunction('+obj.awardId+')">';
contents += '<img id="awardImage'+obj.awardId+'" src="' + obj.awardPicture + '" alt="Award image" class="img-thumbnail">';
我尝试使用以下方法在变量 MTU4 周围加上引号:
contents += '<figure>';
contents += '<a href="#" onclick="getAwardDetailsFunction('+'\\"'+obj.awardId+'\\"'+')">';
contents += '<img id="awardImage'+obj.awardId+'" src="' + obj.awardPicture + '" alt="Award image" class="img-thumbnail">';
这给了我控制台中的错误“AwardsEdit.html:1 Uncaught SyntaxError: Invalid or unexpected token”。
被调用的函数是:
function getAwardDetailsFunction(awardID) {
alert("awardID: " + awardID)
sessionStorage.setItem('ssAwardID', awardID);
window.location = "AwardUpdate.html";
}
解决方案
我花了几天时间,然后在发布后我找到了答案:
代替:
contents += '<a href="#" onclick="getAwardDetailsFunction('+obj.awardId+')">';
和:
contents += '<a href="#" onclick="getAwardDetailsFunction(\'' + obj.awardId.replace('\'', '"') + '\')"</a>';
推荐阅读
- java - 在 Java 中将 Avro 字节转换为字符串
- ruby - 无法将我的哈希作为参数传递给类构造函数
- json - json 文件嵌套列值在 pyspark 中为 null
- reactjs - 为什么我收到警告 Unknown prop `allow` on
- blazor-server-side - How to select reference value of Property in Blazor server side DataGrid
- config - 在 mosquitto 配置文件中使用环境变量
- c# - onRowUpdated field does not update the text of a label under certain conditions
- javascript - Get injected javascript from a website when testing with Selenium / Protractor
- c++ - 为 SFINAE 考虑通用 lambda 返回类型
- google-cloud-dns - GCP cloudDNS A 记录需要多长时间才能全局查找?