Tag: sizzle

如何让jQuery的’filter’function正常运行SVG节点?

说我有以下SVG和jQuery: demo $(‘#test’).filter(‘text’).each(function(){ // do something }); filterfunction不适用于SVG,可能是因为jQuery是为DOM操作设计的,而不是命名空间的SVG。 但是如何才能使jQuery的filterfunction正确地接受SVG呢? Sizzle.filter = function( expr, set, inplace, not ) { var match, anyFound, old = expr, result = [], curLoop = set, isXMLFilter = set && set[0] && Sizzle.isXML( set[0] ); while ( expr && set.length ) { for ( var type in Expr.filter ) { if […]

在开放(聚焦)“选择”元素中非常奇怪的Chrome行为

这是一个元素: Hello Banana Balloon Something Potato Cleveland 这里有一点JavaScript(jQuery“ready”处理程序): $(function() { function foo() { var s = $(‘select’).find(‘:selected’); } setInterval(foo, 200); }); 这是这个问题的jsfiddle。 。 处理程序设置一个间隔计时器,每隔200毫秒,它会找到当前选择的 ,并且对它没有任何作用。 当我在Chrome中运行小提琴(13.0.782.112),然后单击元素,然后尝试选择一个条目时,选择突出显示会继续跳回到第一个选定的元素。 我可以点击所显示的任何元素,当然,然后它会在下次执行相同的操作。 现在,如果我更改计时器处理程序,以便它不使用jQuery来查找当前选择的元素,如下所示: $(function() { function foo() { var select = $(‘select’)[0]; var s = $(select.options[select.selectedIndex]); } setInterval(foo, 200); }); 然后我不再看到效果了。 Firefox不会这样做。 我还没试过Safari。 就个人而言,我觉得这里有些事情做错了。 是Chrome吗? jQuery的? 编辑 – 还有一个细节 – […]

如何选择表格单元格而不在jQuery中选择嵌套表格单元格

我想只选择表中第一级’td’元素而不是任何嵌套表的单元格。 例如: –this one –this one — but not this one or any deeper nested cells (在prod代码中我会包括tbody,thead ……)

jQuery选择器错误? 组合选择器与简单选择器和find()

关于我的情况有点尴尬……我有这样的事情: 如果我使用$(“#selector input[type=radio]”)则找到所有三个元素,但如果我使用$(“#selector”).find(“input[type=radio]”)或甚至find(“input”)只找到第一个。 这是jQuery中的错误吗? 我没有正确使用find()吗? 澄清 :我想使用find()来获取所有输入,但我尝试的任何东西都只找到第一个。 编辑:我正在使用jquery 1.3.2

使用jQuery选择具有数据属性的元素会为其父元素分配一个空ID

这真是奇怪。 如果我使用jQuery的.find()来查找在滚动事件期间具有数据属性的子元素,那么滚动页面将重复地向这些元素的父元素添加和删除ID。 这很难描述,但这是一个可重现的测试用例: http : //jsfiddle.net/8fouvx9p/ var groups = $(“.group”); $(window).bind(“scroll resize orientationchange”, function() { showGroup(); }); function showGroup() { $(groups).each(function() { var group = $(this), elements = $(group).find(“[data-animation]”); }); } Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test […]

使用jquery选择器获取iframe内容

无论如何通过选择器访问iframe的内容? 像这样的东西: $(“iframe::contents .my-foo”) 我经常访问我正在处理的项目的iframe内容和$(“iframe”).contents().find(“.my-foo”)变得有点乏味。 如果开箱即用的jquery中不存在此function,是否有提供此function的插件? 如果不是我怎么能写这样的插件?

我可以强制jQuery使用Sizzle来评估选择器而不使用非标准选择器吗?

在现代浏览器中,当使用有效的CSS选择器时,jQuery使用document.querySelectorAll()来提高性能。 如果浏览器不支持选择器或document.querySelectorAll()方法,它会回退到Sizzle。 但是,在调试自定义选择器时,我想总是使用Sizzle而不是本机实现。 也就是说,我正在尝试提出一个实现:nth-last-child() , 它是jQuery不支持的CSS3选择器之一 。 由于现代浏览器本身支持此选择器,因此它的工作方式与链接问题相同。 正是这种行为干扰了调试我的自定义选择器,所以我想避免它。 我可以使用的一个便宜的黑客是放入一个非标准的jQuery选择器扩展 ,从而可以说“使选择器无效”。 例如,假设每个li:nth-last-child(2)都可见 ,我可以简单地将其删除,转为: $(‘li:nth-last-child(2)’).css(‘color’, ‘red’); 进入这个: $(‘li:nth-last-child(2):visible’).css(‘color’, ‘red’); 这导致它总是被Sizzle评估。 除此之外,这要求我假设我的页面元素可能是也可能不是。 我真的不喜欢那样。 更不用说,除非绝对必要,否则我不喜欢使用非标准选择器。 有没有办法在支持它的浏览器中跳过本机document.querySelectorAll()方法并强制jQuery使用Sizzle来评估选择器,最好不使用非标准选择器? 可能,这需要调用另一个方法而不是$() ,但它比选择器黑客IMO要好得多。

IE7中的奇怪问题只在其他任何浏览器中都没有

这是一个简单的HTML, 我有jquery-ui(1.10)和jquery(1.9.1)。 它在IE8,9,firefox和Chrome中仅适用于IE 7 HTML有类似下面的内容。 我不知道那是什么,它来自哪里 当我在IE8,9,Firefox和Chrome中看到这个HTML时,这段代码就不存在了 sizzle-1367496452938=”[object Object] 以及注入的所有div标签 jQuery191030626454110549073=”6″ 这里有一些html看起来像这样。任何人都知道这是什么问题? UPDATE 我没有使用sizzle javascript选择器库

jQuery 1.4.4:如何根据数据属性值查找元素?

我想这应该是一个非常简单的任务,但使用Firefox for Mac,3.6.12以下不起作用: // assign data attributes $(‘.gallery li’).each(function(i) { $(this).data(‘slide’,i+1); }); // outputting an empty jQuery object console.log($(‘.gallery li[data-slide]’)); // this does not work either outputting an empty jQuery object console.log($(“[data-slide]”)); 使用Firebug我可以看到所有数据幻灯片属性(包括它们的数值)都正确附加到li并注销: $(‘.gallery li’).each(function(index) { console.log($(this).data()); }); 按预期输出: Object { slide=1} Object { slide=2} Object { slide=3} Object { slide=4} 那么为什么第一个console.log不起作用?

解散jquery,嘶嘶声?

有没有人有经验/洞察力:解耦jquery / sizzle? 这是为了普遍的兴趣,但这是触发我的问题的场景: ..i已经在项目中有jquery。 想试试http://ecsstender.org/ ,这需要Sizzle选择器引擎。 我真的不想要包含Sizzle的第二个副本 – 它已经是jquery的一部分.. 宁愿做这样的事情: http : //forum.jquery.com/topic/further-decoupling-sizzle-and-jquery 例如,创建一个依赖于Sizzle的外部而非嵌入式版本的jquery构建 – 所以jquery,eccstender或其他脚本可以使用相同的Sizzle库。 似乎是一个好主意。 虽然我猜它可能会影响性能,但我希望看到基准测试与jQuery生产版本的比较。 有谁知道这是否已经完成? (github fork?)或者有没有理由反对这种方法? 。