jQuery - 如何将属性rel添加到多个链接?
问题描述:
这里是到目前为止我的代码:jQuery - 如何将属性rel添加到多个链接?
$('#floorplans img').each(function() {
$('#floorplans a').each(function() {
$(this).attr('rel','lightbox');
});
});
它运作良好,到目前为止,但我需要做同样的事情也#gallery
。是否有可能完成此操作,而不必为#gallery
再次编写相同的代码?
谢谢!
答
没有看过您的标记,这样的事情可能工作:
$('#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');
});
答
您可以定义功能,使用它,比如:
var addRel = function(selector) {
$(selector).each(function() {
$(this).attr('rel','lightbox');
});
};
addRel('#floorplans a');
addRel('#gallery a');
+0
太棒了!谢谢:) – Cris 2011-04-01 12:17:10
答
将
$('#floorplans img a, #gallery img a').attr('rel', 'lightbox');
不能做?
更新:我有“IMG”和“A”后到前,应该是所有的“A”含有“IMG”内部“#Div”,像这样:
$('#floorplans a:has(img), #gallery a:has(img)').attr('rel', 'lightbox')
我不能看看为什么你在一个循环中使用一个循环,其中一个循环就足够了。 – artshpakov 2011-04-01 12:04:19
嗨。基本上,我想将rel =“lightbox”添加到链接“”中的图像......没有2个循环,它会将rel添加到所有链接,对不对? – Cris 2011-04-01 12:14:59