javascript捕获div中的每个值

标签 javascript html

我有一个 div,在其中通过 javascript 输入和文本动态呈现。我正在 try catch 此 div 的文本(输入值和文本)。

我的第一步是捕获父 div:

let answerWrapper = document.getElementById("typing-answer-wrapper");

现在的问题是,使用innerHTML将为我提供带有给定标签的整个html字符串,而使用inerText将为我提供文本,不包括标签。

在以下情况下:

enter image description here

控制台检查是: enter image description here

如何捕获:如果输入有 2 和 4,则为 2.4 美元 如果输入为空,则返回 $null.null。

欢迎任何帮助

最佳答案

您可以迭代该元素的所有子节点,并将它们的 wholeTextvalue 或“null”连接起来。对于输入,wholeText 将是未定义的。如果它们没有值,我们将返回“null”。请注意,空格和换行符也将包含在内,因此您可能需要稍后删除它们(或在循环中跳过它们),但作为概念证明,请参阅以下示例:

var typingAnswerWrapper = document.getElementById("typing-answer-wrapper");
function getVal(){ 
  var nodeList = typingAnswerWrapper.childNodes;
  var str = "";
  for (var i = 0; i < nodeList.length; i++) {
    var item = nodeList[i];
    str+=(item.wholeText || item.value || "null");
  }
  console.log(str);
}
getVal();
//added a delegated change event for demo purposes:
typingAnswerWrapper.addEventListener('change', function(e){
  if(e.target.matches("input")){
    getVal();
  }
});
<div id="typing-answer-wrapper">$<input type="number" value=""/>.<input type="number" value="" />
</div>

关于javascript捕获div中的每个值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54572424/

相关文章:

javascript - 从 jquery 嵌套函数更新全局变量

javascript - 绕过现有的 MutationObserver 以使用 Tampermonkey 插入 DOM 元素

javascript - 如何从 jQuery 中的父项中选择所有子项(任何级别)?

javascript - 努力使用 css 将 div 动画化到 View 中

javascript - jQuery 表单提交失败

html - 整页 ionic 加载而不是小框

javascript - 无法让 browserify 使用 babel-plugin-transform-class-properties

javascript - 如何在html div标签上显示person对象的属性?

javascript - Fabric.js 是否可以使用不同的图像源加载 json?

html - Flexbox 问题 - Firefox 和 IE10/11