我想将rel = lightbox放到mediabox支持的一些链接上使用javascript。
我试试这个并想知道为什么它不起作用?
请帮忙修改: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>
答案 0 :(得分:1)
因此,如果您打开错误控制台(Firefox中的工具 - &gt;错误控制台),您会在页面上看到两个错误:
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。你正在使用的任何库仍然无效的事实意味着你使用它错了。您甚至没有链接到您下载库的页面,以便有人可以为您查找文档...
答案 1 :(得分:0)
尝试在/
和com
之间转义video
。