如何使用部分属性名称选择DOM元素?

时间:2011-11-25 14:53:44

标签: javascript xml dom namespaces

我想使用document.selectQueryAll()element.selectQueryAll()使用部分名称为其属性选择页面上的多个元素。

注意:不使用部分属性值。

为什么? (您可能知道使用命名空间直接执行此操作的更好方法???)

我想找到所有元素

<div  xmlns:${prefix}='{a particular namespace value I know}' >

我想弄清楚命名空间前缀是什么,对于我知道我正在寻找的特定命名空间,所以我可以去搜索该特定命名空间中的子元素。

我打算如上所述找到元素,找出命名空间,然后去寻找我的子元素

querySelectAll( "[typeof='" + ${prefix} + ":" + "Offering" + "'" )

所以我可以找到与此匹配的所有子元素

<div typeof="gr:Offering">

但我事先不知道XML名称空间前缀将被定义为什么。

1 个答案:

答案 0 :(得分:0)

使用XPath基于名称进行查询,因为它可识别名称空间。例如:

document.evaluate( '//@*[contains(local-name(), "data-")]', document, Function, XPathResult.ANY_TYPE, null )

将获取文档中的所有data-属性。

related question可能有助于语法。