javascript - 来自不带元素的元素的内部文本

标签 javascript

我有这个代码:

<span class="start-end">
<duration>October </duration>
– December (1 duration)
</span>

还有一个:

<span class="start-end">
<duration>September 2010</duration>
–
<duration>June 2014</duration>
(2 duration)
</span>

通常,我可以使用以下选择器从内部文本和元素中获取结果,如下所示:

document.querySelector('span.start-end duration').innerHTML

第一个代码块的 10 月 和第二个代码块的 2010 年 9 月

如何获取第一个区 block 12月(1个持续时间)的值 从第二个 block 2014 年 6 月 开始,使用另一个命令获取 (2 持续时间)

最佳答案

var spans = document.getElementsByClassName("start-end")
for (var k in spans) {
  var span = spans[k]
  var durations = span.getElementsByTagName("duration")
  if(durations.length == 1) {
    console.log(durations[0].innerHTML)
  } else if(durations.length == 2) {
    console.log(durations[0].innerHTML, durations[1].innerHTML)
  }
}
<span class="start-end">
<duration>October </duration>
– December (1 duration)
</span>
and another one:

<span class="start-end">
<duration>September 2010</duration>
–
<duration>June 2014</duration>
(2 duration)
</span>

关于javascript - 来自不带元素的元素的内部文本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34474138/

相关文章:

javascript - jQuery:使用 :hover 的简单动画

javascript - 随机混合内容问题

javascript - 高阶 React 组件中可选参数的流类型

javascript - 谷歌代码现在缺少 Crypto-JS

javascript - 这是 Firebug 中的错误吗?

javascript - 对象属性未定义 (javascript)

javascript - 不包括 Phonegap 构建插件

javascript - 如何使 Div 的高度变化变慢

javascript - 限制大数

javascript - 使用 SPServices 获取选择列选项