将子元素的类添加到父元素。

3
怎样把子元素的class添加到父元素中?
<div class="test">
 <div class="16">

 <div>
<div>

应该是这样的

<div class="test 16">
 <div class="16">

 <div>
<div>

我尝试过

$('.test > div').addClass(function() {
    return $(this).map(function() {
        return this.className;
    }).get().join(' ');
});
4个回答

8
你可以像这样做。
$('.test > div').each(function() {
    $(this).parent().addClass(this.className);
});

2

尝试:

$(function() {
  $('.test > div').each(function() {
    $(this).parent().addClass($(this).attr('class'));
});
})
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class="test">
  <div class="16">
    16
    <div>
      <div>
<div class="test">
  <div class="11">
    11
    <div>
      <div>
<div class="test">
  <div class="12">
    12
    <div>
      <div>


2

您的原始代码已经接近完成。您只需要选择父元素(.test),返回addClass(function)中的children('div')类:

$('.test').addClass(function() {
    return $(this).children('div').map(function() {
        return this.className;
    }).get().join(' ');
});

这里是一个代码片段


2

使用addClass(),可以这样实现:

$('.test').addClass(function() {    
    return $(this).children().prop('className');
});

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接