在HTML页面中获取“position:fixed”的所有元素?

时间:2016-01-28 07:00:57

标签: javascript jquery html css dom

这样做的原因:我正在调试我的网页的css ..出现了一些元素并且它们不应该出现。我怀疑这是元素定位的问题..因此我想找到这些定位元素并逐一检查。

4 个答案:

答案 0 :(得分:14)

这个是使用jQuery。我希望你能找到它。

 var find = $('*').filter(function () { 
        return $(this).css('position') == 'fixed';
    });

我认为这个使用纯javascript:

var elems = document.body.getElementsByTagName("*");
var len = elems.length

for (var i=0;i<len;i++) {

    if (window.getComputedStyle(elems[i],null).getPropertyValue('position') == 'fixed') {
        console.log(elems[i])
    }

}

答案 1 :(得分:1)

document.querySelector('*[style="position:fixed"]')

*项指定所有标记名称。 []表示您正在寻找属性。您希望样式属性具有position:fixed

如果您没有使用jQuery,这可能是您最简单的选择。

答案 2 :(得分:1)

这是ES6版本,可为您提供一系列这些元素以供进一步处理:

let fixedElements = [...document.body.getElementsByTagName("*")].filter(
    x => getComputedStyle(x, null).getPropertyValue("position") === "fixed"
);

答案 3 :(得分:0)

试试这个:

ng-options="parent.id as parent.title for parent in parent_asset_options"

它会为你提供所有固定位置的元素。