如何获取以“开始”开头的类名(作为字符串);测试-“;使用jquery?
问题真的说明了一切 如果你有一个元素如何获取以“开始”开头的类名(作为字符串);测试-“;使用jquery?,jquery,css,Jquery,Css,问题真的说明了一切 如果你有一个元素 <span class="a-class another-class test-top-left"></span> 如何将以“test-”开头的类名提取到一个字符串变量中,这样我就可以将该类名中最上面和最左边的单词提取到单独的变量中并使用它们 var test = ($("span[class*='test-']")[0].className).split("test-")[1].split("-"); 其中,测试[0
<span class="a-class another-class test-top-left"></span>
如何将以“test-”开头的类名提取到一个字符串变量中,这样我就可以将该类名中最上面和最左边的单词提取到单独的变量中并使用它们
var test = ($("span[class*='test-']")[0].className).split("test-")[1].split("-");
其中,测试[0]将包含“顶部”,测试[1]将包含“左侧”
以下是工作演示:
其中,测试[0]将包含“顶部”,测试[1]将包含“左侧”
下面是正在运行的演示:我将使用正则表达式查找并提取类。逐步演示:和
我会使用正则表达式来查找和提取类。逐步演示:和
为了更好地理解:您想从类型字符串中提取变量以“test”int开头的类名吗?为了更好地理解:您想从类型字符串中提取变量以“test”int开头的类名吗?我会使用$(“span[class*=“test-”]))因为我们专门寻找只包含“test-*”类的元素。是的,我假设他已经有代码在寻找有问题的span,所以我将重点放在从列表中提取类名的细节上。我会使用$((“span[class*='test-']),因为我们专门寻找只包含“test-*”类的元素。是的,我假设他已经有了代码来查找问题的范围,所以我重点关注从列表中提取类名的细节。注意,这种方法需要在多个浏览器中为
classList
提供垫片支持,包括IE的所有版本:@JAAulde-谁使用IE:-)-将其更改为classname,这并不重要,这看起来就像没有jQuery很容易做到的事情?现在它只得到最后一个类,但是使用正则表达式或一些创造性的索引,它可以很容易地找到字符串“test”。请注意,这种方法需要在多个浏览器中为classList
提供垫片支持,包括IE的所有版本:@JAAulde-谁使用IE:-)-将其更改为className,这并不重要,这看起来就像没有jQuery很容易做到的事情?现在它只获取最后一个类,但是使用正则表达式或一些创造性的索引,它同样可以轻松地找到字符串“test”。这似乎是最简单的解决方案,但是如何修改它以只搜索$(this)?$(this)[0].className.split(“test-”)中的类[1] .拆分(“—”);或者,如果您想采用纯jQuery方式:$(this).attr(“class”).split(“test-”)[1] .拆分(“—”)@Jai只有当所讨论的类是元素上的最后一个或唯一一个类时,此解决方案才有效。示例:这似乎是最简单的解决方案,但是如何修改它以仅搜索$(this)$(this)[0].className.split(“test-”)中的类[1] .拆分(“—”);或者,如果您想采用纯jQuery方式:$(this).attr(“class”).split(“test-”)[1] .拆分(“—”)@Jai只有当所讨论的类是元素上的最后一个或唯一一个类时,此解决方案才有效。例子:及
/* Get the class attribute from the element */
var wholeclass = $('span').attr('class'),
/* Define a regex to find the class in question */
pattern = /(?:^|\s)test-[a-z0-9_-]+(?:\s|$)/mi,
/* run the regex against the class */
matches = wholeclass.match(pattern),
/* get the portion of the match array and trim it up */
extractedclass = $.trim(matches[0]);
var myClasses = document.getElementsByTagName("span")[0].className.split(' '),
Lastclass = myClasses[myClasses.length-1].split('-'),
first = Lastclass[0], //test
second = Lastclass[1], //top
third = Lastclass[2]; //left