- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
这是我的问题:我正在编写一个 WordPress 插件,帮助崭露头 Angular 的 CSS 作者了解 css 如何实时应用于他们的主题。它有许多漂亮的功能,除了一个在我看来非常重要的功能。
我想让他们点击一个元素,查看该元素的完整选择器路径(该部分已完成),然后向他们展示样式表中适用于该元素的样式。
我有元素的完整选择器路径(例如 html body div#page div#post-18.post h2.posttitle),并且我将它们的样式表解析为单独的选择器 - 但我无法弄清楚任何方式来比较两者。我的一些想法:
使用 jQuery,并运行每个选择器(在样式表中)以查看它返回什么。我对此并不着迷,因为这似乎是一个巨大的性能拖累(可能数千)的选择器针对完整的 DOM。最重要的是,然后我必须比较 jQuery 对象以查看它们是否指向同一事物 - 根据我所阅读的关于比较对象的内容,我不确定这将是一个步行公园。
编写我自己的简单比较函数,并将完整的选择器路径与 css 选择器进行比较。我对此非常满意,直到我开始考虑各种高级选择器 - : > 等
使用 sizzle(或类似的),或以某种方式使用 jQuery 的 sizzle 实现来比较选择器。他们正在针对 DOM 运行这些选择器,所以他们肯定有能力只是比较选择器字符串?不知何故?
我卡住了。非常感谢任何帮助。
最佳答案
检查复杂结构(如 CSS)中的相等性非常困难(例如,您无法通过测试相等的结果集来确定这一点,因为它们在其他情况下的行为可能完全不同)。如果特定于浏览器的 API 在 JavaScript 中可用(例如,Firebug 显示影响所选元素的样式表),您可能能够使用特定于浏览器的 API 来解决这个问题。除此之外,您的第一种方法是 AFAIK 唯一可能的方法。
关于javascript - 我可以使用像 sizzle 这样的选择器引擎来比较 css 选择器吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4051321/
我需要选择具有特定 URL 格式的链接。 我可以使用 sizzle 根据正则表达式评估链接的 href 属性吗? 例如,我可以这样做吗: var arrayOfLinks = Sizzle('a[HR
谁能告诉我 sizzle 是否支持选择器中的命名空间?如果支持的话谁能给我一些例子,我在API文档中找不到这样的信息。 谢谢! 最佳答案 不,Sizzle 不支持命名空间选择器。 CSS select
有没有办法只使用 jQuery/sizzle 的 CSS 选择器来获取所选元素的父元素? 我需要能够在使用 jQuery 时获取元素的父元素,但我无法使用 jQuery('#myelement').p
我已经知道如何使用 Sizzle CSS 选择器引擎。 这是语法:Sizzle( selector ); 那么现在我的问题是:Sizzle CSS 选择器引擎有什么用? 最佳答案 Sizzle 比 j
如果使用 RegExp 对象在 JavaScript 中创建的正则表达式中的转义字符需要再次转义,sizzle.js 中的以下代码如何工作 - identifier = "(?:\\\\.|[\\w-
我从 jQuery 1.6(不记得确切的版本)迁移到 jQuery 3.3.1,并且在以下代码中遇到错误: //datatable row click events $('#@mainDatatabl
我已经阅读了有关 Sizzle 是什么以及它为元素添加的属性是什么的其他问题和答案,但没有一个回答为什么它发生的问题。 我有以下设置: 使用 JQuery 1.10.2 的 HTML5 代码库。 3
为什么 Sizzle 从右到左评估选择器?谁能给我举个例子来解释为什么选择器从右到左计算比从左到右计算速度更快? 如this前面提到,浏览器与通常的 jQuery 不同。如果不是为了更快,它是否只遵循
我在查看一个学校项目的 sizzle.js 源代码时,发现了一些奇怪的东西。在代码的底部有这行代码说: window.Sizzle = Sizzle; 但是我在代码中找不到任何关于 a 的内容: va
根据我的理解,Sizzle 返回一个对象数组 (DOMElements),我试图在 for 循环中遍历该对象数组,但出现错误。当我试图通过 obj[index-number]["property"]
Sizzle 不会返回与选择器匹配的所有元素。这是JSBin Demo显示问题。 HTML Playing with Sizzle JS Item 1 Item 2
有人熟悉 Sizzle 吗?是否支持选择缓存 DOM 节点的子节点?像 jQuery: var body = jQuery('body'); var div = jQuery('#mydiv',bod
有没有办法在不运行 Sizzle 选择器的情况下验证(验证其构造是否正确)? 最佳答案 好吧,正如 Russ 所说,由于 Sizzle 解释了选择器,所以它无法在不评估它的情况下对其进行验证。 但是,
我从 https://github.com/jquery/sizzle 下载了 sizzle.js我的代码是: Demo window.on
令我惊讶的是Sizzle (jQuery 使用的选择器引擎)带有内置的 :nth-child() 选择器,但缺少 :nth-of-type() 选择器。 为了说明 :nth-child() 和 :nt
我发现我需要完全支持 jQuery 不提供的 DOM textNode 的选择器。 jQuery 忽略文本节点,可能是因为大多数页面在标签之间有大量不相关的空白节点,不同的浏览器可以不同地对待这些节点
我不完全确定这里发生了什么。我的代码如下: var mycode = { init:function(){ //my code here } } //sizzle pa
我们将 HTML Unit v2.6 与 Web-Harvest 结合使用,并扩展其功能以创建新元素 username password 当我们运行这个时,我们会在元素加载指定的 URL 时遇
我看到了一些关于在 dojo 中使用 Sizzle 作为选择器引擎的问题 ( replace dojo.query with Sizzle? ),并且知道这是可能的,但似乎找不到任何有关如何进行操作的
在 DevTools 中使用“配置文件”调试我的应用程序时,我发现“分离的 DOM 树”不断累积。这些分离的节点具有主要由 checkContext 函数组成的保留树(来自 sizzle inside
我是一名优秀的程序员,十分优秀!