我使用背景颜色设置<a>
的样式...但是当链接标记中包含<img>
时,背景颜色在图像的下方/附近/任意位置可见。
因此,我想设置包含图像的链接的样式(背景:无),但由于css4父元素尚未在任何浏览器中显示(
最佳答案
使用jquery,您可以执行以下操作:
$('a:has(img)').css('background-color', 'transparent');
使用JavaScript,我会尝试:
// Check not only immediate children but all descendants recursively
function hasImgChild(oElement) {
if (oElement.tagName == 'img') { return true; }
for (var n=0; n<oElement.childNodes.length; n++) {
if (hasImgChild(oElements.childNodes[n])) { return true; }
}
return false;
}
// Get all <a> tag dom references
var aLinks = document.getElementsByTagName('a');
// Loop through all <a> tags and if any of them
// Have <img> descendants, set background-color css property to 'transparent'
for (var n=0; n<aLinks.length; n++) {
if (hasImgChild(aLinks[n])) {
aLinks[n].style.backgroundColor = 'transparent';
}
}