Javascript 使用jQuery仅选择默认块级元素
所有元素都有jQuery选择器吗? 除了上面列出的标签的天真列表 需要明确的是:我不希望元素带有CSSJavascript 使用jQuery仅选择默认块级元素,javascript,jquery,Javascript,Jquery,所有元素都有jQuery选择器吗? 除了上面列出的标签的天真列表 需要明确的是:我不希望元素带有CSSdisplay:block,如提供 琐碎但脆弱/不雅观的解决方案: $('adress, article, aside, ..., tfoot, ul, video') 使用cssdisplay的解决方案,该解决方案在元素获得时中断,例如display:none $('*').filter(function() { return $(this).css("display") === "
display:block代码>,如提供
琐碎但脆弱/不雅观的解决方案:
$('adress, article, aside, ..., tfoot, ul, video')
使用cssdisplay
的解决方案,该解决方案在元素获得时中断,例如display:none代码>
$('*').filter(function() {
return $(this).css("display") === "block";
})'
不,没有内置的CSS选择器或jQuery扩展来匹配默认情况下块级别的元素
您可以根据当前样式表及其特定的样式属性选择当前块级别的样式,但根据您对显示
属性的评论(顺便说一句,这将是一个不完整的解决方案,因为它不允许样式表),听起来您不想这样做
当然,列表不会经常更改,因此您可以在应用程序中使用硬编码列表。但是听起来你也不想这么做。除了html5元素之外,你不需要定义任何元素,你可以在CSS中声明这些元素,而不是用jQueryI来声明。如果我想的话,我可以通过在样式表中声明来创建一个
块级别;你也要满足这个需求吗?这听起来像是你正在做的事情,而实际上是你想做的事情。如果你问起你真正想做的事情,你可能会更成功。(当然,我可能弄错了,但我想不出任何理由来选择那些如果没有设置样式就会成为块元素的元素。)@t.J.Crowder有效点,尽管我认为这是正确的解决方案。我想选择一个标题的所有块级同级,直到下一个标题:$('h1,…,h6')。nextUntil('h1,…,h6',blockLevelSelector)
。我有一些生成的html,我想更改+样式,但无法更改生成器。问题是,如果它是块级元素,如果有人专门将其样式设置为内联元素,又有什么关系呢?为什么还需要将其作为块级元素返回?我想有一个列表就足够了。只是想知道是否有“更好”的解决方案。