gpt4 book ai didi

javascript - 尝试对 HTML 错误使用 textContent 时出错。 "Unable to set property ' textContent' of undefined"

转载 作者:可可西里 更新时间:2023-11-01 10:38:03 26 4
gpt4 key购买 nike

我想我在这里遗漏了一些明显流血的东西,如果有任何帮助,我将不胜感激。提前致谢。

我有以下代码,但是当我运行它时它中断并说 .textContent 不能应用于 queryString 因为 queryString 未定义。

然而,让我感到震惊的是,如果我在此行之前打破代码并查看 queryString,它存储的是正确的值,即 ".titlearea .pagetitle"。为什么这不在后续行中翻译?

JSON 对象被转换为一个对象,该对象返回我希望使用的两个属性。一个名为 termName 的属性和另一个名为 definition 的属性。我想用这些参数的值替换两个 HTML 元素的 textContent。

我已将 termNamedefiniton 的值存储在名为 content 的数组中。我在 for...in 循环中执行此操作。

然后我想遍历这个数组并用 content 数组中的相关值替换相关的 HTML 元素。这是第二个 for 循环。

我基本上希望该行被解释为:

document.querySelector(".titlearea .pagetitle").textContent = xxxx;

其中 xxxx 是 queryResult[i] 值。

这是完整的代码。

var searchTerm = JSON.parse(Result.responseText);
var DefDiv = ".titlearea .pagetitle";
var DescDiv = ".titlearea .pagesubtitle";
var holder = [DefDiv, DescDiv];
var content = [];
var x;

// Push the query into an array
for (x in searchTerm.terms[0].term) {
content.push(x);
}

var displayResult = function(queryResult) {

for (var i = 0; i <= holder.length; i++) {
var queryString = holder[i];

document.querySelector(queryString).textContent = queryResult[i];
}
};

displayResult(content);

最佳答案

您将其标记为 Windows 8,因此我假设您使用的是某种形式的 Internet Explorer。问题是,某些版本的 IE 不支持 querySelectorquerySelectorAll .我认为这是你的问题。尝试记录这两种方法,看看它说了什么。如果它返回 undefined那么该浏览器不支持这些方法。


原来是因为你在使用 <= 时在循环作为循环终止条件的一部分而不是 <我之前指出了这一点,但不确定这是否是问题的原因。很高兴我能帮上忙。

关于javascript - 尝试对 HTML 错误使用 textContent 时出错。 "Unable to set property ' textContent' of undefined",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14022788/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com