javascript - 无法设置元素的innerHTML

标签 javascript

我构建了一个搜索功能来查找结果。然而,它有两个问题。第一个问题是变量 resShow 似乎没有持续存在。无论它看起来有什么属性,当我使用 getElementById 时,它似乎总是“忘记”它的值:

第二个问题是迭代我的结果数组似乎会创建一个“未定义”的结果。这会产生一个在预期结果之前以“undefined”开头的字符串,如下所示:

来源如下:

function getQueryVariable(variable){
var query = window.location.search.substring(1);
var fixed = query.substring(query.indexOf("=")+1);
return fixed;
}

var searchvariable = getQueryVariable("terms");

var options = {
id: "displ",
shouldSort: true,
tokenize: true,
findAllMatches: true,
threshold: 0.6,
location: 0,
distance: 100,
maxPatternLength: 32,
minMatchCharLength: 1,
keys: [
  "tags"
]
};
var fuse = new Fuse(list, options); // "list" is the item array
var result = fuse.search(searchvariable);
var resLength = result.length;
var resShow;
for (var i=0; i<resLength; i++) {
    resShow += result[i] + "\n";
}

document.getElementById("searchPane").innerHTML = resShow;

以及需要显示的 HTML:

<div class="firstblock row bottom40">
    <div class="col-md-6 top10">
        <div>
            <img src="images/site.png" width="500" height="" style="padding-bottom: 10px" alt="" />
        </div>

    </div>

    <div class="col-md-6 top100">
        <div id="searchPane">    <==========  search results go here
        </div>
    </div>
</div>

最佳答案

您的 div 具有 class searchPane,但您正在查找具有该 ID 的元素,因此名称为 getElementById >.

关于javascript - 无法设置元素的innerHTML,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42588591/

相关文章:

php - 根据查询字符串选择单选选项

javascript - 如何在不显示原始图像的情况下缩放填充图案的图像

javascript - ajax 请求对于提交事件返回 status = 0,但对于 keyup 事件返回 status=200

javascript - 将 xul 对话框置于屏幕中央

javascript - 如何在javascript中根据提示存储数组的值?

javascript - 如何在用于在网页中播放 .swf 的 Flash 播放器中使用控件?

javascript - 让 jquery-confirm 返回一个值

javascript - 如何从缩放和平移的 Fabric.js Canvas 中导出图像

javascript - Laravel echo 监听已读消息

javascript - JQuery Ajax 文件上传在客户端浏览器上无法正常工作