这个jQuery选择器是什么:一个[@rel*=lightbox]?
我正在对一些逻辑进行重构,我遇到了这段代码,我仍在努力理解它这个jQuery选择器是什么:一个[@rel*=lightbox]?,jquery,jquery-selectors,Jquery,Jquery Selectors,我正在对一些逻辑进行重构,我遇到了这段代码,我仍在努力理解它 try { $('a[@rel*=lightbox]').lightBox(); } catch (e) {} 我理解试抓部分,但这部分是什么 ('a[@rel*=lightbox]') 这是一种古老的XPath方式,表示在rel属性中使用lightbox查找锚点。所以它将匹配一个锚,如下面的例子 <a href="http://example.com/image.jpg" alt="image" rel="
try {
$('a[@rel*=lightbox]').lightBox();
} catch (e) {}
我理解试抓部分,但这部分是什么
('a[@rel*=lightbox]')
这是一种古老的XPath方式,表示在
rel
属性中使用lightbox
查找锚点。所以它将匹配一个锚,如下面的例子
<a href="http://example.com/image.jpg" alt="image" rel="external me lightbox">Link</a>
它选择属性rel中包含lightbox的所有链接这是一种使用不推荐的
@
(XPath)语法的链接。它在页面上查找具有启动lightbox窗口的链接。有更好的方法编写此选择器
$('img[rel="lightbox"]')
这将选择任何具有“lightbox”关系的图像标签。你不需要做一个try语句,如果你正确地包含了所有脚本,它应该可以正常工作。但是它与@alex answer中的rel=“external me lightbox”不匹配。然后你可以简单地使用*=like so:$('img[rel*='lightbox'])你可能想使用
$('a[rel lightbox]')。lightbox()
相反,因为~=
查找整个单词lightbox
而不是*=
,后者只查找一个子字符串,例如*=
方法中将包含“notalightbox”。
$('img[rel="lightbox"]')