开发者社区> 问答> 正文

如何通过jquery 控制相同类名下的属性

下面是我的一个问题


<ul class="a">
    <li class="s1">
        <span>1</span>
        <buttonp class="j">创建</button>
        <buttonp class="f">添加</button>
    </li>
     <li class="s2">
        <span>1</span>
        <buttonp class="j">创建</button>
        <buttonp class="f">添加</button>
    </li>
     <li class="s3">
        <span>1</span>
        <buttonp class="j">创建</button>
        <buttonp class="f">添加</button>
    </li>
</ul>





<ul class="b">
    <li class="s1">
        <span>1</span>
        <buttonp class="g">添加</button>
    </li>
    <li class="s2">
        <span>1</span>
        <buttonp class="g">添加</button>
    </li>
    <li class="s3">
        <span>1</span>
        <buttonp class="g">添加</button>
    </li>
</ul>

首先在当点击创建按钮后,会在b类名里面通过jquery动态的创建一个和a类名里面同样的li标签包裹内容。
问题是当我点击a类名下的s1类名里面的添加按钮后添加按钮后不光让s1里面span标签+1还要让b类名下里面的s1类名的span标签内容+1,以此类推点击a类名里面的 s2 s3 的添加按钮都会同样找到b类名下里面的 s2 s3 类名里的span 加1 请问这个需要怎么写
(补充一下,我的想方法是通过判断a和b 里面的li的类名来找到需要修改的属性,但是我只能判断到有这个类名但是没办法取得这个相等类名下的子类修改属性)

展开
收起
云栖技术 2016-05-25 09:17:39 1940 0
1 条回答
写回答
取消 提交回答
  • 社区爱好者,专为云栖社区服务!
    $(function() {
        $('.a').on('click', 'li button', function(e) {
            var self = $(this),
                item = self.parents('li'),
                itemClass = item.attr('class'),
                numEle = self.parents('li').find('span'),
                num = Number(numEle.text()),
                cloneNode;
    
            if (self.hasClass('j')) {
                if(!self.data('created')){
                    $('.b').append(item.clone());
                    self.data('created','yes');
                }
    
            } else if (self.hasClass('f')) {
                cloneNode = $('.b').find('.' + itemClass).find('span');
    
                numEle.text(++num);
                cloneNode.text(num);
            }
    
    
        });
    });
    2019-07-17 19:13:25
    赞同 展开评论 打赏
问答分类:
问答标签:
问答地址:
问答排行榜
最热
最新

相关课程

更多

相关电子书

更多
Javascript中的对象 立即下载
低代码开发师(初级)实战教程 立即下载
阿里巴巴DevOps 最佳实践手册 立即下载