为什么我的函数返回未定义的,尤其是.split()部分



所以本质上我得到了输入的值,然后尝试通过这个的逗号将其划分为不同的标签

var noteTags = document.getElementsByClassName("noteTag").value;
Tag = noteTags.split(",");

但在控制台中,split(",")undefined编辑:很抱歉,我忘了提到noteTag元素是输入的,这会以任何方式改变代码的工作方式吗?

有两个问题,

  1. getElementsByClassName返回一个类似数组的元素集合(一个NodeList(
  2. 而不是value,它应该是innerText

像下面的一样尝试

var noteTags = document.getElementsByClassName("noteTag")[0].innerText;
Tag = noteTags.split(",");

您正在对数组使用split((方法。您还试图访问属性,因此您可能应该使用innerText

您可以使用querySelector,然后不需要使用键[0]来选择元素。

const noteTags = document.querySelector("#noteTag");
console.log(noteTags)
Tag = noteTags.innerHTML.split(",");
console.log(Tag)
<div id="noteTag">en,jp,fr</div>

相关内容

最新更新