我基本上没有使用jQuery的经验,只是足以通过大多数获得。但是,我最近一直在更改一些模板,遇到了一段我没写过的jQuery,但却抛出了一个错误(Uncaught Error: Syntax error, unrecognized expression: /
)。我不确定从哪里开始。到目前为止,我所知道的是,我非常确定这段代码会导致它,并且它在scrollItems
行正在窒息:
// Cache selectors
var lastId,
topMenu = $(".nav"),
topMenuHeight = topMenu.outerHeight() + 50,
// All list items
menuItems = topMenu.find("a"),
// Anchors corresponding to menu items
scrollItems = menuItems.map(function() {
var item = $($(this).attr("href"));
if (item.length) {
return item;
}
///////////////FANCYBOX
$(".fancybox-media").fancybox({
arrows: true,
padding: 0,
closeBtn: true,
openEffect: 'fade',
closeEffect: 'fade',
prevEffect: 'fade',
nextEffect: 'fade',
helpers: {
media: {},
overlay: {
locked: false
},
buttons: false,
title: {
type: 'inside'
}
},
beforeLoad: function() {
var el, id = $(this.element).data('title-id');
if (id) {
el = $('#' + id);
if (el.length) {
this.title = el.html();
}
}
}
});
});
我已经分别测试了fancybox代码,但它确实有效,但我想我会把它留下来彻底。我还拿出了一些注释掉的代码。非常感谢任何帮助!
答案 0 :(得分:1)
这条线可能导致错误:
var item = $($(this).attr("href"));
您似乎有href="/"
(指向起始页的链接)的链接,因此代码将执行相同的操作:
var item = $("/");
jQuery将尝试将URL解析为选择器,并且您会得到确切的错误消息。
在尝试将href
属性用作选择器之前,检查var href = $(this).attr("href");
if (href.substr(0, 1) == "#") {
var item = $(href);
if (item.length) {
return item;
}
}
属性是否包含书签而不是URL:
for (i in 1:1000){
table[i,] <- downloadfnc("URL", file = i)
}