通常我们在像 jquery 这样的库中通过选择器搜索元素,但如果我们想反过来会发生什么:给定一个元素,我们想找到应用到它的所有规则,就像 firebug 一样!
如果我们想带一个 css 文件并更新它,这样我们就可以在我们的网页上看到实时结果,这种工作是必要的。 在 firebug 中,通过选择一个元素,我们可以以相反的顺序看到应用于它的所有规则。
首先,我们必须找到文档的样式规则并将其内容作为文本检索,以便用户可以更新它们,但真正的问题是找到元素与所有规则之间的关系....
即使在像 jquery 这样的库的帮助下,这也可能吗?
最佳答案
我正在寻找关于可以使用哪些工具来解决浏览器环境所施加的限制中的此类问题的意见...
我的意见是我们必须对 css 文件/选择器进行暴力搜索攻击并构建依赖关系:假设我们有 100 条规则用于包含 100 个元素的页面,可能的组合是 10^4,因为关系很多-太多。
然后,如果我们想保持元素规则的级联顺序,我们可以在内存中构建可能超过 10^4 条记录的“表”(哈希数组)。
反正我的观点是,我不敢把jquery这么蛋疼!如果我们可以“移植”jquery 的核心,我的意思是它是搜索引擎。
它的心似乎听从了'sizzle'的名字,但在这里浪费时间(正则表达式?不,谢谢)。我认为真正的“心脏”是一个简单的词:“querySelectorAll
”,现在我们在这里以 native 速度运行...
只是一个意见,因为我不关心广泛/旧的浏览器支持。
关于javascript - 除了从 jquery 中的选择器中查找元素,我可以反过来做吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19990511/