我有下面的代码:需要帮助/车削for循环if语句到jQuery选择
var $elements = $("body").find("*");
for (var i = 0, len = $elements.length; i < len; i++) {
var $e = $elements.eq(i),
cssFloat = $e.css("float"),
cssDisplay = $e.css("display");
if (cssDisplay !== "none" &&
(cssFloat === "left" || cssFloat === "right")) {
$e.css("display", "inline");
}
};
出于性能方面的原因,我想换成for循环,如果用jQuery选择语句将所有元素过滤掉只有那些需要应用display: inline;
的元素。
我在想沿着以下伪代码的东西线:
$("body")
.find("*")
.not(selector for elements whose css display style is not "none")
.contains(selector for elements whose css float style is "left" or "right")
.css("display", "inline");
不管出于什么原因,我的大脑失败我。这可能吗?
没有任何可以查询元素样式属性的jQuery选择器。 – BoltClock
你真的想在这里解决什么问题?我感觉无论如何,还有更好的办法。 – thirtydot
首先,'float:left'(或'right')强制'display:block'。 – thirtydot