jQuery 循环遍历带有类后缀的元素

Posted

技术标签:

【中文标题】jQuery 循环遍历带有类后缀的元素【英文标题】:jQuery loop through elements with class suffix 【发布时间】:2014-10-20 05:42:27 【问题描述】:

我在 joomla 3.0 网站中有一个名为 fadecontent 的类后缀,我必须使用 $.each() 函数遍历所有具有该类后缀的 div。

我尝试了this,但它似乎不适用于 suffixes 类。 joomla docs: class suffix

$('.fadecontent').each(function(i, obj) 

带有类后缀的意思是:

<div class="class classSuffix">exemple</div>
<!--example in my code-->
<div class="moduletable fadecontent">content</div>

如何存档?

编辑:脚本在&lt;HEAD&gt;标签中

【问题讨论】:

您对 suffix 的使用不明确。你的意思是你只想匹配一个类的 part 吗?否则,使用您提供的代码,$(".fadecontent") 应该与您要查找的元素匹配。 这个问题措辞不佳,但我认为它是重复的? ***.com/questions/2220851/… 你还记得document.ready,包括jQuery等,因为你所拥有的应该可以正常工作-> jsfiddle.net/uv20hkry $('.fadecontent') 应该选择&lt;div class="moduletable fadecontent"&gt;content&lt;/div&gt;。问题出在其他地方。可能缺少$(document).ready() @Jojo,从您发布的链接来看,您似乎想要匹配一个类的实际后缀(在词源意义上)。 filter()this.className 进行正则表达式匹配。环顾四周,网上可能有很多关于这个问题的资料。 【参考方案1】:

我不确定我理解你所说的类后缀是什么意思。在你的例子中

<div class="moduletable fadecontent">content</div>

该 div 具有类 moduletable 和 fadecontent。所以这应该循环遍历所有带有fadecontent类的div

$('.fadecontent').each(function()  console.log('Do Something here'); );

如果这不能满足您的要求,您能否发布更多代码,以便我们可以看到任何其他错误?

【讨论】:

查看更新,我为信息添加了 joomla 文档类后缀。我没有收到任何错误,只是没有任何反应。 好吧,好像我在测试所有这些答案时搞砸了。我备份了脚本,再次测试它并且它工作。非常感谢!【参考方案2】:

如果您使用 JQuery 的特殊选择器,例如:

$('[class$="yoursuffix"]')

它应该返回其类包含您的后缀模式的元素。你可以阅读更多关于这个here

【讨论】:

不将其限制为后缀。这将在 class 属性中的任意位置选择带有 yoursuffix 的任何元素。 这是“starts-with”选择器,对于后缀没有意义。即使你使用“ends-with”选择器,如果目标类不是类列表中的最后一个,它也会失败。 确实,这行不通。后缀在最后。但有时,有多个后缀。还是谢谢;)

以上是关于jQuery 循环遍历带有类后缀的元素的主要内容,如果未能解决你的问题,请参考以下文章

jQuery循环遍历具有相同类的动态创建的元素

使用类循环遍历每个元素并附加其文本JQUERY

使用 jQuery each() 函数循环遍历类名元素

Jquery 循环遍历在运行时创建的元素

使用 jQuery 循环遍历元素

jQuery$.each循环遍历详解,各种取值对比,$.each遍历数组对象Dom元素二维数组双层循坏类json数据等等