Javascript 只显示一个段落…不管是否有更多段落,包括空白段落、空白段落、类段落…以及css段落

Javascript 只显示一个段落…不管是否有更多段落,包括空白段落、空白段落、类段落…以及css段落,javascript,html,css,Javascript,Html,Css,我正在寻找css属性来隐藏包含或不包含css类的段落,如果它包含空格()或空白,但希望至少保留一个段落,如果有更多,则只保留一个包含或不包含css类的段落 如果段落为空或包含空格()则隐藏段落,最好仅使用css…如果没有其他选项,则仅使用JavaScript/jquery //理想情况下,我不想使用javascript/jquery $(“p”).html(函数(i,html){ 返回html.replace(//g',); }); p:n子级(n+2):空, p:n子项(n+2):空白, .

我正在寻找css属性来隐藏包含或不包含css类的段落,如果它包含空格()或空白,但希望至少保留一个段落,如果有更多,则只保留一个包含或不包含css类的段落

如果段落为空或包含空格()则隐藏段落,最好仅使用css…如果没有其他选项,则仅使用JavaScript/jquery

//理想情况下,我不想使用javascript/jquery
$(“p”).html(函数(i,html){
返回html.replace(//g',);
});
p:n子级(n+2):空,
p:n子项(n+2):空白,
.MsoNormal p:n子级(n+2):空,
.MsoNormal p:n子级(n+2):空白{
边际:0像素;
显示:无;
}
p::以前{
内容:'';
}
p:空::之前{
内容:'';
显示:无;
}
p:第一个子项:空+p:不(:空)::之前{
内容:'';
}
p:第一个子项:空+p:empty+p:not(:empty)::before{
内容:'';
}
p::之后{
内容:'';
显示:无;
p:空::之后{
显示:无;
}
p:第一个子项:空+p:不(:空)::之后{
内容:'';
}
p:第一个子项:空+p:empty+p:not(:empty)::之后{
内容:'';
}

一些文本-1

一些文本-2

一些文本-3

一些文本-4

一些文本-5

一些文本-6


据我所知,仅使用CSS是无法做到这一点的

使用jQuery是最简单、最干净的方法。我不明白为什么您使用jQuery,但您不想使用它,但使用纯js对我来说更“难看”。虽然我给了您两段代码

JS代码:

// get the elements and transform from HTMLCollection object to array
var array_p = document.getElementsByTagName("P");
array_p = Array.prototype.slice.call(array_p);

array_p.forEach(function(value, index) {
    var text = value.innerHTML;
    text = text.replace(new RegExp(' ', 'g'), '');
    text = text.replace(new RegExp(' ', 'g'), '');
    value.style.display = "none";
});
我添加了一个jQuery代码,例如,如果您想使用它:

$.each($("p"), function(index, value) {
    var text = $(this).html();  
    text = text.replace(new RegExp(' ', 'g'), '');
    text = text.replace(new RegExp(' ', 'g'), '');
    if (text.length == 0) {
        $(this).css("display", "none");
    }

})

CSS的工作并不是解决由结构糟糕的内容引起的问题。。。这种难看的混乱从何而来?
p{margin:0;padding:0;}p{height:20px;background:#345fea;}p+p{display:none;}
你可以试试这个@CBroe:可能是很久以前很多所见即所得编辑之一。