首页 > 解决方案 > 按键搜索时字典返回未定义

问题描述

我目前正在制作一个小型测试网站,并且我有一个函数可以根据输入将图像添加到 innerHTML:

function montreImg(nomImage){
var output = document.getElementById("fileContent"/*Placeholder*/);

var images = {
    ranch : "/ressources/bungalow/ranch.jpg",
    bungalowstyle : "/ressources/bungalow/bungalow style.jpg",
    tuscan : "/ressources/bungalow/tuscan.jpg",
    farmhouse : "/ressources/bungalow/farmhouse.jpg",
    traditional1 : "/ressources/bungalow/traditional1.jpg",
    cabin : "/ressources/2etages/cabin.jpg",
    craftsman : "/ressources/2etages/craftsman.jpg",
    modern : "/ressources/2etages/modern.jpg",
    southern : "/ressources/2etages/southern.jpg",
    traditional2 : "/ressources/2etages/traditional2.jpg"
};

console.log(images.nomImage);
var img = '<img src="' + images[nomImage] + '">';
output.innerHTML += img;
}

每当我通过键搜索对象时,它都会给我未定义(在控制台日志中)并且它会说找不到图像,因为它正在搜索未定义。我最初将键作为字符串并搜索:

images[nomImage]

但这也返回未定义。我验证了,输入是字符串类型的。我已经搜索了几个小时,但找不到与我有类似问题的人。我没有使用 AJAX 或任何其他框架,它是纯 JS 和本地网站。

我似乎找不到我的代码有什么问题,但我对 JS 比较陌生,所以我可能遗漏了一些明显的东西。

提前致谢。

标签: javascriptdictionary

解决方案


我刚刚通过复制和粘贴控制台日志发现,我的输入文本前面有一个额外的空间。这让我发疯了。很抱歉发布,但我会留下它,以防有人遇到和我一样的事情。

这是输入的内容:

"tuscan "

但它应该是:

"tuscan"

直到我复制并粘贴到日志之外才注意到。


推荐阅读