Tag: jquery selectors

jQuery检查是否有任何文本输入有值

我想问一下jQuery中是否有更好的方法来选择多个文本输入,然后检查它们中是否有任何值。 这是我的代码: if ($(“#reference”).val() != “” || $(“#pin”).val() != “” || $(“#fName”).val() != “” || $(“#mName”).val() != “” || $(“#datepicker”).val() != “”) { /*logic goes here */ }

jquery – 选择某个元素后的所有元素

我有一个类似于下面的列表,并且只想选择#everything_after元素之后的#everything_after元素。

jQuery选择器,其中text =某个值

我有一个对象(在这种情况下是来自js-kit的评级对象),如果评级值为“未评级”,我想使其不可见。 我无法获得正确的jQuery选择器来执行此操作。 即使下面的代码看起来应该可行,但事实并非如此。 $(“.js-rating-labelText:contains(‘unrated’)”).css(“visibility”, “hidden”); .js-rating-labelText是在文本上设置的类。

jQuery:contains(),但匹配一个确切的字符串

如标题中所述,我想找到类似于:contains()但匹配精确字符串的内容。 换句话说,它不应该是部分匹配。 例如,在这种情况下: John Johny $(“#id:contains(‘John’)”)将匹配John和Johny ,而我只想匹配John 。 提前致谢。 编辑: ES2015单线解决方案,万一有人找到它: const nodes = […document.querySelectorAll(‘#id > *’)].filter(node => node.textContent === ‘John’); console.log(nodes); /* Output console formatting */ .as-console-wrapper { top: 0; } .as-console { height: 100%; } John Johny

jQuery选择器与局部变量的性能

当我需要在函数范围内多次访问jQuery选择器的结果时,我建议运行一次选择器并将其分配给局部变量吗? 请原谅我这里的陈词滥调,但我认为这说明了这个问题。 那么,这段代码的执行速度会更快: var execute = function(){ var element = $(‘.myElement’); element.css(‘color’,’green’); element.attr(‘title’,’My Element’); element.click(function(){ console.log(‘clicked’); }); } 比这个代码: var execute = function(){ $(‘.myElement’).css(‘color’,’green’); $(‘.myElement’).attr(‘title’,’My Element’); $(‘.myElement’).click(function(){ console.log(‘clicked’); }); } 如果没有区别,有谁可以解释原因? jQuery是否在选择后缓存元素,以便后续的选择器不必再费心搜索dom了?

根据部分属性查找HTML

有没有办法使用javascript(特别是jQuery)来查找基于部分属性名称的元素? 我不是在寻找找到这些链接中引用的部分属性值的任何选择器: 以 [name ^ =“value”] 开头 包含前缀 [name | =“value”] 包含 [name * =“value”] 包含单词 [name~ =“value”] 以 [name $ =“value”] 结尾 等于 [name =“value”] 不等于 [name!=“value”] 以 [name ^ =“value”] 开头 但更多的东西是这样的 和 $(“[^data-api]”).doSomething() 查找具有以“data-api”开头的属性的任何元素。

jQuery:contains()选择器大写和小写问题

我的HTML看起来像这样 jK JFOO 我的js $(‘#txt’).keyup(function(){ var txtsearch = $(‘#txt’).val(); var filt = $(“div.link-item:contains(‘” + txtsearch +”‘)”); $(“div.link-item”).css(“display”, “none”) .filter(filt) .css(“display”, “block”); }); 我希望在客户端动态过滤内容。 当我输入大写字母j时,它只返回第二个div,而我想得到包含j的所有div,无论是大写还是小写。

使用jQuery如何选择一系列行?

是否存在仅用于从表中选择行范围的jQuery解决方案? 我知道’eq’,’lt’,’gt’存在,但我正在寻找这些选择器的组合。

在jQuery 1.8中的自定义筛选器选择器中获取“匹配”对象

作为参考,这里有一篇关于使用jQuery创建自定义filter选择器的文章。 介绍: 对于那些不熟悉jQuery的自定义滤波器选择器的人 ,这里有一个关于它们的快速入门: 如果需要可重用的filter ,可以通过将自己的函数添加到jQuery.expr[‘:’]对象来扩展jQuery的选择器表达式。 该函数将在当前集合中的每个元素上运行,并应返回true或false(非常类似于filter )。 三位信息传递给此函数: 有问题的元素 整个集合中此元素的索引 从正则表达式匹配返回的match数组,其中包含更复杂表达式的重要信息。 一旦你扩展了jQuery.expr[‘:’] ,就可以在jQuery选择器中使用它作为filter,就像你使用任何内置的filter一样( :first , :last , :eq()等。) 这是一个示例,我们将过滤分配了多个类的元素: jQuery.expr[‘:’].hasMultipleClasses = function(elem, index, match) { return elem.className.split(‘ ‘).length > 1; }; $(‘div:hasMultipleClasses’); 这是小提琴: http : //jsfiddle.net/acTeJ/ 在上面的例子中,我们没有使用传入我们函数的match数组。 让我们尝试一个更复杂的例子。 在这里,我们将创建一个filter,以匹配tabindex高于指定数量的元素: jQuery.expr[‘:’].tabindexAbove = function(elem, index, match) { return +elem.getAttribute(‘tabindex’) > match[3]; }; $(‘input:tabindexAbove(4)’); 这是小提琴: http : […]

使用jQuery选择器上的regex查找基于id的所有元素

我有几个具有唯一ID的元素,如下所示: 我希望以下内容可以使用jQuery: $(“#item-[.]+-top”).each(function() { $(this).hide(); }); 我没有很好地掌握正则表达式,我会很感激一些输入,因为上面看起来不正确。