到目前为止,这是我的代码:
$('#floorplans img').each(function() {
$('#floorplans a').each(function() {
$(this).attr('rel','lightbox');
});
});
到目前为止它运作良好,但我也需要它为#gallery
做同样的事情。是否有可能在不必为#gallery
再次编写相同代码的情况下完成此操作?
谢谢!
答案 0 :(得分:2)
是 - 使用multiple selector
答案 1 :(得分:2)
将
$('#floorplans img a, #gallery img a').attr('rel', 'lightbox');
不行吗?
更新:我有“IMG”和“A”回到前面,应该是“#Div”中包含“IMG”的所有“A”,如下所示:
$('#floorplans a:has(img), #gallery a:has(img)').attr('rel', 'lightbox')
答案 2 :(得分:1)
如果没有看到你的标记,这样的事情可能有用:
$('#floorplans img, #gallery img').each(function() {
$('a').each(function() {
$(this).attr('rel','lightbox');
});
});
HTH
更新: 我仍然认为这不对, 你没有使用你在外循环中选择的元素,所以它是多余的。 而且我认为你因为它而多次设置rel attr。 我没有尝试过,但我认为你应该只使用一个循环,在那里选择带有图像的链接。
$('#floorplans a:has(img), #gallery a:has(img)').each(function() {
$(this).attr('rel','lightbox');
});
答案 3 :(得分:0)
您可以定义功能并使用它,例如:
var addRel = function(selector) {
$(selector).each(function() {
$(this).attr('rel','lightbox');
});
};
addRel('#floorplans a');
addRel('#gallery a');