【问题标题】:IE and string matchingIE 和字符串匹配
【发布时间】:2011-05-22 00:52:32
【问题描述】:

我正在尝试获取页面上所有链接的数组,这些链接的 href 与特定字符串(url 的一部分)匹配。此方法适用于除 IE 以外的所有浏览器,我不知道为什么。

var url = '/work.php?subsection=1';
a = $('clients').getElements('a[href^='+url+']');
alert(a.length);

我正在使用 Mootools 来解释 $('clients').getElements() 位。

在所有浏览器中,除了 IE a.length 返回 10。IE 返回 0。有人知道为什么吗??

值得一提的是,我只需要匹配href的第一部分。所以<a href="/work.php?subsection=1&project=11"></a> 应该匹配。

【问题讨论】:

  • 这应该被标记为Mootools

标签: javascript mootools string-matching


【解决方案1】:

不知道您使用的是哪个版本的 Mootools,也没有看到页面的标记,很难给出答案。

IE 是否可以将 URL 视为完全限定的?换句话说,不是以/work.php?subsection=1 开头,IE 可以相信 URL 以http://yourdomain.com/ 开头吗?

编辑:作为一种解决方法,您可以使用[att*=val] 选择器,它根据属性是否仅包含指定的值进行匹配。如果您认为您的 URL 可能包含 /work.php?subsection=1 而不是开头,并且您真的不想匹配这些,您也可以将您的域放入其中。

【讨论】:

  • 你知道吗?我想就是这样,该死的。确认!它为什么要这么做?我也必须抢域名吗?
  • 请看我的编辑!我很高兴你在我之前遇到了这个问题......我可以想象这会在某个时候毁掉我的一天。
  • 今晚你真的救了我的命。 [att*=val] 工作得很好。谢谢!!!已经为此苦苦挣扎了几个小时。
  • 如果你遇到类似的困难,你总是使用数组 .filter 像这样:node.getElements("a").filter(function(el) { return el.get("href").contains("somestring"); });
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-10-28
  • 1970-01-01
  • 2021-02-25
  • 2014-05-23
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多