【问题标题】:JavaScript + E4X: how to test if an element has text nodes?JavaScript + E4X:如何测试元素是否有文本节点?
【发布时间】:2012-02-20 16:35:14
【问题描述】:

在 E4X 中,我知道如何测试元素是否具有特定属性,但如何测试元素是否具有文本节点?

js>x = <foo><bar /><baz attr1="123" /><quux>some random text</quux></foo>
<foo>
  <bar/>
  <baz attr1="123"/>
  <quux>some random text</quux>
</foo>
js>'@attr1' in x.baz
true
js>'@attr1' in x.quux
false

【问题讨论】:

    标签: javascript xml parsing text e4x


    【解决方案1】:

    对没有属性或子元素的元素使用hasSimpleContent 方法:

    x.quux.hasSimpleContent()
    

    使用 RegExp 删除标签和空格来聚合文本节点:

    Boolean(x.toString().replace(/<.*?\>/g,"").replace(/\W/g,"").length)
    

    【讨论】:

      猜你喜欢
      • 2011-04-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-10-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多