是否可以使用属性选择器来部分搜索内联样式属性?
谁能找到让这段代码工作的方法?
似乎不可能做到这一点.hidden[style*="display: block"] + .below
,甚至也不可能[style]
是否可以使用属性选择器来部分搜索内联样式属性?
谁能找到让这段代码工作的方法?
似乎不可能做到这一点.hidden[style*="display: block"] + .below
,甚至也不可能[style]
您尝试使用的属性选择器不是合法的 CSS,尽管它是一个 jQuery 属性选择器。据我所知,CSS 仅限于(derp,见下文)[attribute=value]
,[attribute~=value]
和[attribute|=value]
.
但是,由于您已经在使用 jQuery 来切换hidden
div,因此同时在 div 上切换一个类会简单得多below
,而不是与属性选择器搏斗(除非它有更多功能) .
修改后的 jQuery:
$(function() {
$('html').click(function() {
$('.hidden').slideToggle();
$('.below').toggleClass('yellow');
});
});
和 CSS:
/* Margin of Below should reduce when hidden is opened */
.yellow {
margin-top: 10px;
background: yellow;
}
编辑:好的,我对属性选择器有点不了解,它是合法的 CSS3;我不知道浏览器支持的细节,但我猜它会在所有常见的“现代”浏览器中得到支持。style
此外,IE7专门针对该属性显然存在问题。在http://www.impressivewebs.com/attribute-selectors/上有一篇很好的文章。
再一次:虽然我找不到任何明确证实这一点的东西,但看起来属性选择器只适用于实际硬编码到 html 中的属性;基本上它只是解析字符串,而不是检查 dom 元素的“状态”吗?