问题标签 [sizzle]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
jquery - 如何摆脱 jQuery 中的 sizset 和 sizcache 属性?
我已经知道sizcache 和 sizset 属性是什么,但我担心的是它们在我们的 Web 应用程序中的乘法。我解释说:我们使用 jQuery 开发了一个“自制”的 WYSIWYG html 编辑器,当我们的用户保存结果 HTML 时,我们用.html()
(或innerHTML
) 检索它,然后将其保存在数据库中。然后我们的用户可以编辑它,并再次保存在数据库中。当使用非 IE 浏览器时,一切都很好,但是在 IE 中,jQuery 添加了那些(ahemm nasty)sizset和sizcache属性,它们最终出现在生成的 HTML 中。当从数据库重新加载 HTML 并再次保存时,会添加越来越多的 sizset 和 sizcache。
对我来说理想的解决方案是这些属性永远不会出现在数据库中。如果首先有来自 jQuery 的解决方案,我不确定是否要解析 HTML 服务器端以删除它们。有人遇到过这个问题吗?
这是我们所拥有的示例:
HTML:
Javascript:
变量“源”最终包含 sizset 和 sizcache 属性
javascript - 如何评估 jQuery 选择器 $('#foo a')?
作为 jQuery 代码 ( https://coderwall.com/p/7uchvg ) 的示例,我读到表达式的$('#foo a');
行为如下:
在页面中找到每个
a
,然后a
在里面过滤#foo
。
而且看起来效率不高。
那是对的吗?如果是,我们应该如何以更好的方式做到这一点?
javascript - 是否有替代 jQuery / sizzle 的方法支持 textNodes 作为选择器中的一等公民?
我发现我需要完全支持 DOMtextNode
的选择器,而 jQuery 没有提供。
jQuery 忽略文本节点,可能是因为大多数页面在标签之间有大量不相关的空白节点,各种浏览器可以区别对待。
关于文本节点的 jQuery 问题的大多数答案归结为使用.contents()
返回所选项目的所有子节点的函数,包括文本节点 - 所有其他 jQuery API 都忽略文本节点。
通常你不需要一些不容易建立的东西,.contents()
但我发现自己处于这种情况。
我的用例是我想在我无法控制的第 3 方网页中定位并包装任意运行的文本。(想想浏览器扩展或用户脚本。)
到目前为止,我很高兴在 DOM 中查找所有文本节点,或者找到一个包含我感兴趣的所有文本节点并用于.contents()
迭代它们的包装元素。
但是现在我发现有时我需要 jQuery/sizzle 选择器的全部功能来将我的注意力缩小到类中类的某些可能性等。
我考虑了使用textNode
选择器扩展 jQuery 的方法,但这似乎是不可能的,因为忽略文本节点的普遍规则会在调用我的扩展之前过滤掉其中的许多节点。
因此,我正在寻找其他一些 JavaScript 工具,它提供类似选择器的功能,但允许选择在其选择器表达式语法中任意混合的文本节点。
这是我可能需要做的一个例子:
这是一个我个人还不需要但很容易想象的例子:
当您可以寻址(选择)文本节点的直接父级时,迭代它们.contents()
很容易,而不是当您只能识别某个任意祖先但想要其下方的所有文本节点时,这对于元素节点来说当然是微不足道的.
javascript - 选择所有没有 jQuery 的链接和表单
如何在不需要包含 jQuery 的情况下选择所有标签a
?form
我最终试图做到以下几点:
但如果有更紧凑的方法可以做到这一点,我真的宁愿不包括 jQuery(甚至 Sizzle.js)。
jquery - [Rails]jQuery:语法错误,无法识别的表达式
我的 Rails 3 应用程序有问题:我的视图中有一个脚本来显示上传进度条(上传过程有效):
但是当我尝试上传文件时,我收到了这个错误:
来自 jquery.js 文件:
我真的不知道如何解决它,我已经寻求了很多!谢谢你的帮助 !
javascript - 为什么返回 !!var JavaScript?
在查看 Sizzle.js 后,我注意到它们有一个断言函数(见下文),它返回!!fn(x)
.
为什么会有人这样做?这样做似乎毫无意义,因为它只是"not not"
。
有人对此有所了解吗?
zepto - 在zepto中获得下一个兄弟姐妹
通常这不会有问题,但这次我不控制 dom。反正
这是我尝试过的
然而,这些都没有获得班级的下一个兄弟姐妹。
任何人都知道如何遍历这个?
javascript - 在 IE8 中使用选择器解析 XML-
我目前正在使用选择器解析 WMS Capabilities XML 文件,这很好用,干净的代码解决方案。
但是我偶然发现了 IE8 的问题-(Chrome、Safari、Firefox 等都运行良好)
这将成功地layerNames
在体面的浏览器中填充我的数组。
在 IE9+data
中是类型[Object, Document]
但是在 IE8 中,类型data
是IXMLDOMDocument2
我无法使用选择器查询解析的类型。
IXMLDOMDocument2
也是只读的,导致嘶嘶声在以下位置引发异常:
outerCache = elem[ expando ] || (elem[ expando ] = {});
因为它将尝试运行elem[ expando ] = {}
失败,因为它IXMLDOMDocument2
是只读的。有Object doesn't support this property or method
错误。
有没有办法让我layerNames
使用选择器来填充我的数组,或者我在追逐不可能的事情?
javascript - 使用 Sizzle 和 JS 将 div 放入数组
我正在使用 Sizzle Library 将这些数据从页面中取出。有 (n) 个可能的项目。
有没有办法将这些数据放入数组中
我需要将每个项目放入一个数组中,而不使用 jQuery。而且我确实知道每个项目中 DIV 的名称
jquery - 让 jQuery 重新解析 DOM 以将动态内容公开给旧版 IE 的 Sizzle 选择器引擎
我正在处理一个大而笨重的文档,其中包含大量从 jQuery 以外的各种来源动态生成的内容。问题是 IE6 和 7 中的 jQuery 选择器没有选择其中的一些内容。
我知道Sizzle 使用了一些令人讨厌但必要的邪恶来使遗留 IE 的 DOM 可遍历。问题是,这些辅助属性是如何以及何时初始化的,如何强制它重新解析新的 DOM 以将其公开给 jQuery?