小编Gur*_*aya的帖子

Javascript定位所有带边距元素的方法:auto

我正在寻找一种简单的方法来在页面上找到边距左边和边距右边设置为自动的元素.

我有这个脚本,这有时帮助我:

(function() {
  var elementsList = [];
  for (var i = 0; i < document.styleSheets.length; i++) {
    var styleSheet = document.styleSheets[i];
    if (styleSheet.rules) {
      for (var j = 0; j < styleSheet.rules.length; j++) {
        var rule = styleSheet.rules[j];
        if (rule && rule.style && rule.style.marginLeft == 'auto' && rule.style.marginRight == 'auto') {
          var smallList = document.querySelectorAll(rule.selectorText);
          if (smallList.length)
            elementsList = elementsList.concat(smallList);

        }

      }
    }
  }
  return elementsList
})();
Run Code Online (Sandbox Code Playgroud)

虽然这个功能完成了一些工作,但它并没有抓住margin: auto我在网站上看到的大多数情况.

你能告诉我一个更好的方法吗?

javascript css margin

9
推荐指数
1
解决办法
218
查看次数

类型错误:“ABCMeta”对象不可在 Callable 上订阅

我对 python 3.8 和 mypy 协同工作的方式有疑问。考虑这段代码:

from collections.abc import Callable

def feeder(get_next_item: Callable[[], str]) -> str:
    return get_next_item()
Run Code Online (Sandbox Code Playgroud)

虽然 mypy 批准此代码,但使用 python 3.8 运行它会产生错误

Traceback (most recent call last):
  File "mypytest.py", line 3, in <module>
    def feeder(get_next_item: Callable[[], str]) -> str:
TypeError: 'ABCMeta' object is not subscriptable
Run Code Online (Sandbox Code Playgroud)

那么,让我们尝试其他方法: from collections.abc import Callable

def feeder(get_next_item: Callable) -> str:
    return get_next_item()
Run Code Online (Sandbox Code Playgroud)

此时,python3.8 可以正常运行,但是 mypy 会说

mypytest.py:4: error: Returning Any from function declared to return "str"
Run Code Online (Sandbox Code Playgroud)

除了在返回时使用 #type:ignore 之外,还有什么方法可以摆脱这个陷阱吗?提前致谢

python type-hinting mypy

6
推荐指数
1
解决办法
4803
查看次数

javascript:什么dom对象在屏幕上的某个点?

我想要一个JS函数,它会告诉我哪个dom对象位于屏幕上的certin点,即 - 如果鼠标位于此X,Y坐标并单击,将被单击的对象.有没有办法做到这一点?

javascript dom position

2
推荐指数
1
解决办法
240
查看次数

标签 统计

javascript ×2

css ×1

dom ×1

margin ×1

mypy ×1

position ×1

python ×1

type-hinting ×1