Javascript 使用 parseint 从类名中获取 id 号

标签 javascript

使用 Javascript,我尝试从如下所示的元素中提取数字

document.getElementById("mybutton").addEventListener("click", function() {

  console.log("Button clicked")

  parent = this.parentNode;
  console.log(parent);

  value = parseInt(parent);
  console.log(value);

});
#mybutton {
  padding: 20px;
  background: gold;
}
<div class="myelement myid-364444-number">
  <div id="mybutton">
    Button
  </div>
</div>

我每次都得到NaN,我哪里错了?

最佳答案

对于此特定示例,最简单的方法是在 parent 节点的 className 上使用正则表达式。

document.getElementById("mybutton").addEventListener("click", function() {

  console.log("Button clicked")

  const parent = this.parentNode;
  console.log(parent);

  const value = parseInt(parent.className.match(/\d+/));
  console.log(value);

});
#mybutton {
  padding: 20px;
  background: gold;
}
<div class="myelement myid-364444-number">
  <div id="mybutton">
    Button
  </div>
</div>

关于Javascript 使用 parseint 从类名中获取 id 号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57617009/

相关文章:

java - 应用程序的 CPU 使用率比其他正常 Web View 高

javascript - 如何在 ReactJs 中正确使用 componentWillUnmount()

javascript - Angular 图 X 轴文本标签相互重叠

javascript - JS - 通过正则表达式搜索带引号和不带引号的字符串

javascript - 如何解决 Ionic 3 中的 "Error: Uncaught (in promise): Error: No provider for"错误

javascript - 替代 jQuery .closest() 选择器

javascript - 使用 Javascript 解析远程 JSON?

javascript - 如果没有单击任何 div,则 Angular 禁用应用按钮

javascript - 不允许加载本地资源 - Angular7 和 Electron

javascript - 替换数组 : "hh:mm" to "H" 中的小时项目