jquery如何选择所有类元素以"text-"开头?

use*_*652 40 javascript jquery

我有一些课程

.text-1
.text-2
.text-3
Run Code Online (Sandbox Code Playgroud)

我想全部选择它们,怎么做?谢谢您的帮助

Chi*_*e G 62

试试这个.有关详细信息,请参阅jquery selectors

$('*[class^="text"]')
Run Code Online (Sandbox Code Playgroud)

  • 然后我们可以使用$('*[class*="text"]').这将在class属性中将文本搜索为子字符串.参考:http://api.jquery.com/attribute-contains-selector/ (9认同)
  • class属性采用空格分隔的类列表; 这将在`class ="foo text-1 bar"`上失败 (7认同)
  • @Chinmayee那将错误地匹配像'sometext`这样的东西 (5认同)
  • @Chinmayee对不起,这是一个虚构的例子.我说如果有一个正则表达式属性选择器会很好.`〜=`选择器是"包含单词属性选择器"(http://api.jquery.com/attribute-contains-word-selector/)但是它在这里也不起作用 (2认同)

hob*_*bbs 13

这是一个既准确又不太慢的解决方案的尝试:

var elts = $('*[class*="text-"]')
  .filter(function () {
    return this.className.match(/(?:^|\s)text-/);
  });
Run Code Online (Sandbox Code Playgroud)

通过使用(希望)快速的Sizzle代码来查找在其class属性中的任何位置具有"text-"的元素,然后在每个元素上调用一个函数以将它们过滤到实际上具有"text-"的元素.类名的开头.