未捕获的类型错误: 无法读取未定义的属性'str'



我有一个变量在我做控制台时输出内容.log,但是当我尝试对这个变量进行 .str.replace 操作时,它说它是未定义的!

var thisbuttonDownContents = document.getElementById("Frm" + frm + 'Results');
if (thisbuttonDownContents != null) {
  thisbuttonDownContents = thisbuttonDownContents.textContent;
  console.log(thisbuttonDownContents); //This outputs: West Ter -  Selected 
  var test = thisbuttonDownContents.textContent.str.replace("Selected", ""); 
  //^ This gives the error: Uncaught TypeError: Cannot read property 'str' of undefined

我在这个 javascript 中还有另一个函数,我已经从中复制并粘贴了这段代码,它工作正常! console.log 实际上返回一个值的事实表明该元素存在并且不是未定义的。我已经尝试过类型转换到字符串,这没有区别。

在这一行中

thisbuttonDownContents = thisbuttonDownContents.textContent;

您将以前拥有的 DOM 元素替换为 DOM 元素的 textContent 属性中包含的string

显然,thisbuttonDownContents不再是 DOM 元素,因此它不再具有textContent属性。

但是,即使您删除了该行,replace函数也是直接在包含字符串或字符串文字的变量上调用的函数,因此,正如其他人指出的那样,它必须是

var test = thisbuttonDownContents.textContent.replace("Selected","");

或者,如果你坚持引言中提到的有问题的台词,

var test = thisbuttonDownContents.replace("Selected","");

相关内容

  • 没有找到相关文章

最新更新