3 回答
TA贡献1828条经验 获得超4个赞
尽管这里的最佳答案是针对问询者的特殊情况的解决方法,但如果您正在寻找一种针对各个类名实际使用“开头为”的解决方案,请执行以下操作:
您可以使用此自定义jQuery选择器,我将其称为:acp()“ A Class Prefix”。代码在这篇文章的底部。
var test = $('div:acp("starting_text")');
这将选择<div>具有至少一个以给定字符串(在此示例中为“ starting_text”)开头的类名的所有元素,而不管该类是在类属性字符串的开头还是其他位置。
<div id="1" class="apple orange lemon" />
<div id="2" class="orange applelemon banana" />
<div id="3" class="orange lemon apple" />
<div id="4" class="lemon orangeapple" />
<div id="5" class="lemon orange" />
var startsWithapp = $('div:acp("app")');
这将返回元素1、2和3,但不返回 4或5。
这是:acp自定义选择器的声明,您可以将其放置在任何地方:
$(function(){
$.expr[":"].acp = function(elem, index, m){
var regString = '\\b' + m[3];
var reg = new RegExp(regString, "g");
return elem.className.match(reg);
}
});
我这样做是因为我对没有后端控制的网站进行了很多GreaseMonkey黑客操作,因此我经常需要查找具有动态后缀的类名的元素。这非常有用。
- 3 回答
- 0 关注
- 580 浏览
添加回答
举报