jol*_*olt 5 html javascript dom
每个HTML元素都有偏移值.我可以返回一个元素,例如,offsetLeft > 10?
从来没有听说过这个功能,所以问题.
我知道这可以通过循环来完成,但这些都很慢.有一个关于XPath的想法,但找不到与引用内属性相关的任何内容.
提前致谢!
PS不需要过时的浏览器兼容性 - HTML5'可以做到.
据我所知,没有办法不涉及某种形式的循环来做到这一点。您可以使用标准 JS 来完成此操作:
var elems = document.getElementsByTagName("*"),
myElems = [];
for(var i = 0; i < elems.length; i++) {
if(elems[i].offsetLeft > 10) myElems.push(elems[i]);
}
Run Code Online (Sandbox Code Playgroud)
或者,如果您使用 jQuery,您可以使用更少的代码来完成它(但它可能更慢!):
var myElems = $("*").filter(function() {
return $(this).offset().left > 10;
});
Run Code Online (Sandbox Code Playgroud)
如果您考虑一下,您希望选择文档中具有特定属性值的所有元素。无论您是否自己编写,在某些时候总会涉及循环,因为必须检查每个元素。