jQuery - 根据前缀获取元素类

Ale*_*lex 21 javascript jquery

从下面元素中的类中获取"淡入淡出"字符串的最快方法是什么?

<div class="MyElement fx-fade"> ... </div>
Run Code Online (Sandbox Code Playgroud)

小智 73

如果你想寻找以"淡入淡出"结尾的东西,你会使用:

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

对于以"淡入淡出"开头的类的元素,您将使用:

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

并且要获得包含'fade'的元素,你会使用(这比通过类名字符串更快)

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

"*"获取所有元素,因此您可以将其替换为您想要的元素.

如果你想要一个类名以'fx-'开头的元素你会这样做:

var classname = "";
var elArray  = $("*[class*='fx-']");

for (var a= 0; a < elArray .length; a++)
{
   //fade
   classname = elArray[a].split("-")[1]; 
}
Run Code Online (Sandbox Code Playgroud)

for循环中使用的数组将具有类名为'fx-'的所有元素.

而不是for循环检查元素的正确类名.

有关更多信息,请访问jquery.com


Pet*_*hof 14

var classes = $('.MyElement').attr('class').split(' ');
for (var i = 0; i < classes.length; i++) {
  var matches = /^fx\-(.+)/.exec(classes[i]);
  if (matches != null) {
    var fxclass = matches[1];
  }
}
Run Code Online (Sandbox Code Playgroud)


Kru*_*nal 6

尝试这个:

$("div[class*='fade']") 
Run Code Online (Sandbox Code Playgroud)

更多信息