首页 | 最近更改 | 编辑本页 | 较早版本

可打印版 | 免责声明

Not logged in
登录 | 帮助
 

Firefox:Dive Into Greasemonkey/4.17. Matching case-insensitive attribute values

Mozilla中文Wiki

您的位置:Dive Into Greasemonkey公用模式匹配不区分大小写的属性值

4.17. 匹配不区分大小写的属性值

在 HTML 中,许多属性的值是不区分大小写的,还有很多在首部和尾部包含空格。如果您想获得所有这样的值,您需要在您的 XPath 查询中使用一点技巧。

Image:Permalink.gif 例子:获取所有”方法“属性是 "POST" 或 "post" 的表单

var postforms = document.evaluate(
    "//form[translate(@method, 'POST ', 'post')='post']",
    document,
    null,
    XPathResult.UNORDERED_NODE_SNAPSHOT_TYPE,
    null);

本次 XPath 查询可以获取所有以 ”POST“ 方式提交的表单。首先,我们需要用 translate 函数将属性的值变成小写字母。(XPath 2.0 还有 lowercase 函数,但我一次都没有成功的用过它。)其次,我们需要将首部和尾部的空格去掉。我们可以将这个操作合并到 translate 函数中,只要在第一个参数之前加一个空格。因为在第二个参数中没有相应的字母,这样一来所有的空格就被去掉了。最后,我们就能将获取的属性值同 'post' 做比较。

实例


← 对已载入的页面做后续处理
获取当前域名 →

取自"http://wiki.mozcn.org/index.php/Firefox:Dive_Into_Greasemonkey/4.17._Matching_case-insensitive_attribute_values"

本页面已经被浏览1810次。 最后更改15:36 2006年6月18日. 本站内容在创作共用署名-非商业用途-保持一致条款下发布。


[首页]
首页
最近更改
随机页面
新闻动态

编辑本页
讨论本页
较早版本
链入页面
链出更改

特殊页面
错误报告