【问题标题】:jQuery loop through elements with class suffixjQuery 循环遍历带有类后缀的元素
【发布时间】: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") 应该与您要查找的元素匹配。
  • 这个问题措辞不佳,但我认为它是重复的? stackoverflow.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 进行正则表达式匹配。环顾四周,网上可能有很多关于这个问题的资料。

标签: javascript jquery joomla each


【解决方案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”选择器,如果目标类不是类列表中的最后一个,它也会失败。
  • 确实,这行不通。后缀在最后。但有时,有多个后缀。还是谢谢;)
猜你喜欢
  • 2011-06-11
  • 2010-09-15
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2010-10-28
  • 2018-04-13
  • 2018-06-05
相关资源
最近更新 更多