JS数组上的每个函数? ( 一条线 )?

时间:2011-12-22 08:46:43

标签: jquery

<p class="a b c d"> </p>

如何通过split func给我的每个类迭代(在一行中)?

我试过了:

编辑(抱歉)

  $("p").attr("class").split(' ').each (function (i,n){alert(n)});

没有成功......

为什么这行不起作用?如何将数组转换为$ array?

4 个答案:

答案 0 :(得分:2)

each()$.each()不同。后者可以与任何迭代一起使用,但前者需要一个jQuery对象。

由于split()返回一个数组而不是jQuery对象,因此您应该使用$.each()而不是each()

答案 1 :(得分:1)

尝试:

$($("p").attr("class").split(' ')).each(function (i,n){alert(n);});

每个方法只存在于jQuery对象上,而split返回一个数组。

答案 2 :(得分:1)

这应该有效:

$($("p").attr("class").split(' ')).each (function (i,n){alert(n)});

答案 3 :(得分:0)

你的代码是正确的。看这里http://jsfiddle.net/3AWA6/。 所以有两种可能性:

  • 你有jQuery吗?
  • 在DOM准备好后执行此命令吗?试试这个

    $(function() {$.each($("p").attr("class").split(' '),function (i,n){alert(n)})});