0

我想把 rel=lightbox 放到一些 mediabox 使用 javascript 支持的链接上。

我试试这个,想知道为什么它不起作用?

测试:http: //jsbin.com/opica

请帮助编辑:http: //jsbin.com/opica/edit

<script  type="text/javascript">
var x=xmlDoc.getElementsByTagName("a");
var regexku=/^.+(((twit)|(tweet)|(com/video.+)|(flickr.com.+)|(tube.com.+))|((gif)|(jpe?g)|(png)|(flv)|(swf)|(mp3)|(mp4))$)/;

for(i=0;i<x.length;i++)
 {
a=x[i].getAttribute('href');
if (a.match(regexku) != null)
   {
   x.item(i).setAttribute("rel","lightbox");
   }
 }

</script>
4

2 回答 2

1

因此,如果您打开错误控制台(Firefox 中的工具 -> 错误控制台),您会在页面上看到两个错误:

Error: xmlDoc is not defined
Source File: http://jsbin.com/opica
Line: 35

Error: invalid regular expression flag v
Source File: http://jsbin.com/opica
Line: 21, Column: 38
Source Code:
var regexku=/^.+(((twit)|(tweet)|(com/video.+)|(flickr.com.+)|(tube.com.+))|((gif)|(jpe?g)|(png)|(flv)|(swf)|(mp3)|(mp4))$)/; 

后者是通过按照 Bart 建议的 ( com\/video) 转义斜线来修复的。

前者说没有这样的东西xmlDoc。您可能指的是页面的文档,在这种情况下,您应该将其替换为document.

接下来整个事情可能无法正常工作,因为您应该在页面加载完成后运行脚本。在 jQuery 中$(document).ready(function() { /* do your work here */ }),谷歌如何使用您正在使用的任何框架(mootools-yui?)来做到这一点。

之后如您所见,在链接上设置了 rel 属性:http: //jsbin.com/elaca/edit。您使用的任何库仍然无法工作的事实意味着您使用错误。您甚至没有链接到您从中下载库的页面,以便有人可以为您查找文档...

于 2009-10-16T06:48:01.893 回答
0

尝试转义/介于comand之间video

于 2009-10-16T05:48:52.933 回答