jQuery .prepend()使用来自另一个元素的类,如果它以特定的单词开头

时间:2011-05-29 17:18:22

标签: jquery class prepend

我想在前面添加的元素中使用另一个现有的元素类。为了避免混淆,可以说我只知道父元素类在开头有单词“box”,并且让我们说其余的类是随机生成的。

因此我显然不能写例如:

.prepend('<div class="box-something_more"></div>'); 

因为据我所知,父元素类可能是“box-nothing”或“box-something-else”或数以百万计的其他东西。

html结构:

<div class="box-something"> <!-- source of the box- class -->
    <div class="box-something_more"></div> <!-- prepended element -->
    <div class="box-something_evenmore"></div> <!-- prepended element -->

</div>

<div class="box-two"> <!-- source of the box- class -->
    <div class="box-two_more"></div> <!-- prepended element -->
    <div class="box-two_evenmore"></div> <!-- prepended element -->

</div>

所以需要发生的是,将要预先添加的元素从父元素开始获取它们的类。

http://jsfiddle.net/tDUpD/2/

编辑:这似乎可以解决问题。 http://jsfiddle.net/tDUpD/3/

1 个答案:

答案 0 :(得分:0)

这是否符合你的想法?如果没有,请尝试更清楚地说明您的问题:

示例:

HTML

<div class="foo"></div>
<div class="doo"></div>

JS

var childClasses = ["bar", "baz"];

$('.foo, .doo').each(function() {
    var $self = $(this);
    $.each(childClasses, function(i, childClass) {
        $self.append($('<div/>', {
            'class': $self.attr('class') + "_" + childClass
        }));
    });
});

=结果HTML

<div class="foo">
  <div class="foo_bar"></div>
  <div class="foo_baz"></div>
</div>
<div class="doo">
  <div class="doo_bar"></div>
  <div class="doo_baz"></div>
</div>